1: public class And<T> : IClause<T>
2: {
3: public And(IClause<T> WhereStatement1, IClause<T> WhereStatement2)
4: : base()
5: {
6: _WhereStatement1 = WhereStatement1;
7: _WhereStatement2 = WhereStatement2;
8: }
9:
10: protected IClause<T> _WhereStatement1 = null;
11: protected IClause<T> _WhereStatement2 = null;
12:
13: internal override void SetupSQL(SQLHelper Helper,Class Class)
14: {
15: _WhereStatement1.SetupSQL(Helper,Class);
16: _WhereStatement2.SetupSQL(Helper,Class);
17: }
18:
19: public override string ToString()
20: {
21: StringBuilder Builder = new StringBuilder(_ColumnName);
22: Builder.Append("(" + _WhereStatement1.ToString());
23: Builder.Append(" AND ");
24: Builder.Append(_WhereStatement2.ToString() + ")");
25: return Builder.ToString();
26: }
27: }
28:
29: public class Or<T> : IClause<T>
30: {
31: public Or(IClause<T> WhereStatement1, IClause<T> WhereStatement2)
32: : base()
33: {
34: _WhereStatement1 = WhereStatement1;
35: _WhereStatement2 = WhereStatement2;
36: }
37:
38: protected IClause<T> _WhereStatement1 = null;
39: protected IClause<T> _WhereStatement2 = null;
40:
41: internal override void SetupSQL(SQLHelper Helper,Class Class)
42: {
43: _WhereStatement1.SetupSQL(Helper,Class);
44: _WhereStatement2.SetupSQL(Helper,Class);
45: }
46:
47: public override string ToString()
48: {
49: StringBuilder Builder = new StringBuilder(_ColumnName);
50: Builder.Append("(" + _WhereStatement1.ToString());
51: Builder.Append(" OR ");
52: Builder.Append(_WhereStatement2.ToString() + ")");
53: return Builder.ToString();
54: }
55: }
56:
57: public class Where<T> : IClause<T>
58: {
59: public Where(Expression<Func<T, object>> Expression, HaterAide.SQL.Enums.Operators Constraint, object Value)
60: : base(Expression, Constraint, Value)
61: {
62:
63: }
64:
65: public Where(Expression<Func<T, object>> Expression, HaterAide.SQL.Enums.Operators Constraint, object Value1, object Value2)
66: : base(Expression, Constraint, Value1)
67: {
68: _Value2 = Value2;
69: }
70:
71: protected object _Value2 = null;
72:
73: internal override void SetupSQL(SQLHelper Helper,Class Class)
74: {
75: if (_ColumnType.FullName.Equals("System.String", StringComparison.CurrentCultureIgnoreCase))
76: {
77: if (_Constraint == Enums.Operators.Between)
78: {
79: Helper.AddParameter("@" + _ColumnName + "1", (string)_Value, 255);
80: Helper.AddParameter("@" + _ColumnName + "2", (string)_Value2, 255);
81: }
82: else
83: {
84: Helper.AddParameter("@" + _ColumnName, (string)_Value, 255);
85: }
86: }
87: else
88: {
89: if (_Constraint == Enums.Operators.Between)
90: {
91: Helper.AddParameter("@" + _ColumnName + "1", _Value, GlobalFunctions.GetSQLType(_ColumnType));
92: Helper.AddParameter("@" + _ColumnName + "2", _Value2, GlobalFunctions.GetSQLType(_ColumnType));
93: }
94: else
95: {
96: Helper.AddParameter("@" + _ColumnName, _Value, GlobalFunctions.GetSQLType(_ColumnType));
97: }
98: }
99: }
100:
101: public override string ToString()
102: {
103: StringBuilder Builder=new StringBuilder(_ColumnName);
104: if (_Constraint == Enums.Operators.Equals)
105: {
106: Builder.Append("=");
107: }
108: else if (_Constraint == Enums.Operators.GreaterThan)
109: {
110: Builder.Append(">");
111: }
112: else if (_Constraint == Enums.Operators.GreaterThanOrEqual)
113: {
114: Builder.Append(">=");
115: }
116: else if (_Constraint == Enums.Operators.LessThan)
117: {
118: Builder.Append("<");
119: }
120: else if (_Constraint == Enums.Operators.LessThanOrEqual)
121: {
122: Builder.Append("<=");
123: }
124: else if (_Constraint == Enums.Operators.Like)
125: {
126: Builder.Append(" LIKE ");
127: }
128: else if (_Constraint == Enums.Operators.NotEqual)
129: {
130: Builder.Append("<>");
131: }
132:
133: if (_Constraint == Enums.Operators.Between)
134: {
135: Builder.Append(" BETWEEN ");
136: Builder.Append("@" + _ColumnName + "1");
137: Builder.Append(" AND ");
138: Builder.Append("@" + _ColumnName + "2");
139: }
140: else
141: {
142: Builder.Append("@" + _ColumnName);
143: }
144: return Builder.ToString();
145: }
146: }