PageRenderTime 33ms CodeModel.GetById 7ms RepoModel.GetById 0ms app.codeStats 0ms

/Main/NBusiness.MySql/Query/MySqlFunction.cs

#
C# | 58 lines | 49 code | 9 blank | 0 comment | 2 complexity | 3f5159a9a009237799305015dca9c6bb MD5 | raw file
Possible License(s): Apache-2.0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Text;
  4. using NBusiness.Query;
  5. namespace NBusiness.MySql.Query
  6. {
  7. public class MySqlFunction : ISelectable, IEvaluatable
  8. {
  9. #region Member properties and fields
  10. private string _name;
  11. public string Name
  12. {
  13. get { return _name; }
  14. set { _name = value; }
  15. }
  16. private List<IEvaluatable> _parameters = new List<IEvaluatable>();
  17. public List<IEvaluatable> Parameters
  18. {
  19. get { return _parameters; }
  20. }
  21. #endregion
  22. public MySqlFunction() { }
  23. public MySqlFunction(string name, params IEvaluatable[] parameters)
  24. {
  25. _name = name;
  26. _parameters.AddRange(parameters);
  27. }
  28. #region IRelationalElement Members
  29. public string ToSql()
  30. {
  31. StringBuilder sb = new StringBuilder(_name);
  32. sb.Append("(");
  33. for (int x = 0; x < _parameters.Count; x++)
  34. {
  35. if (x > 0) sb.Append(", ");
  36. sb.Append(Parameters[x].ToSql());
  37. }
  38. sb.Append(")");
  39. return sb.ToString();
  40. }
  41. private IRelationalElement _parent;
  42. public IRelationalElement Parent
  43. {
  44. get { return _parent; }
  45. set { _parent = value; }
  46. }
  47. #endregion
  48. }
  49. }