/// <summary> /// This function permits to add a clause in WHERE or HAVING. /// </summary> /// <param name="builderFromAndNode"></param> /// <param name="ConditionOperatorEnum"></param> /// <param name="elements"></param> private static void AddClause(object builderFromAndNode, ConditionOperatorEnum conditionOperator, string[] elements) { if (builderFromAndNode is Where) { ((Where)builderFromAndNode).AddAnd(elements[0], conditionOperator, elements[2]); } else if (builderFromAndNode is Having) { ((Having)builderFromAndNode).AddAnd(elements[0], conditionOperator, elements[2]); } }
public Not(SqlRawBuilder sqlRawBuilder, string field, ConditionOperatorEnum operatorEnum, string value) { this.sqlRawBuilder = sqlRawBuilder; this.field = field; if (this.sqlRawBuilder.HasCondition) { this.sqlRawBuilder.GetSQL += " NOT "; } this.sqlRawBuilder.GetSQL += (new FormatCondition(field, operatorEnum, value)).Raw; this.sqlRawBuilder.HasCondition = true; }
public OrCommand(SqlRawBuilder sqlRawBuilder, string field, ConditionOperatorEnum conditionOperator, string value) { this.sqlRawBuilder = sqlRawBuilder; this.field = field; this.conditionOperator = conditionOperator; this.value = value; if (this.sqlRawBuilder.HasCondition) { this.sqlRawBuilder.GetSQL += " OR "; } this.sqlRawBuilder.GetSQL += new FormatCondition(field, conditionOperator, value).Raw; this.sqlRawBuilder.HasCondition = true; }
public FormatCondition(string field, ConditionOperatorEnum operatorEnum, string value) { this.field = field; this.operatorEnum = operatorEnum; this.value = value; switch (operatorEnum) { case ConditionOperatorEnum.EqualsTo: Raw = field + " = '" + value + "'" ; break; case ConditionOperatorEnum.GreaterThan: Raw = field + " > '" + value + "'" ; break; case ConditionOperatorEnum.GreaterOrEquals: Raw = field + " >= '" + value + "'" ; break; case ConditionOperatorEnum.LowerThan: Raw = field + " < '" + value + "'" ; break; case ConditionOperatorEnum.LowerOrEquals: Raw = field + " <= '" + value + "'" ; break; case ConditionOperatorEnum.NotEqualsTo: Raw = field + " <> '" + value + "'" ; break; case ConditionOperatorEnum.StartWith: Raw = field + " LIKE '" + value + "%'" ; break; case ConditionOperatorEnum.EndWith: Raw = field + " LIKE '%" + value + "'" ; break; case ConditionOperatorEnum.Contains: Raw = field + " LIKE '%" + value + "%'" ; break; case ConditionOperatorEnum.NotContains: Raw = field + " NOT LIKE '%" + value + "%'" ; break; } }
public And AddAnd(string field, ConditionOperatorEnum operatorEnum, string value) { return(new And(sqlRawBuilder, field, operatorEnum, value)); }
public Or AddOr(string field, ConditionOperatorEnum operatorEnum, string value) { return(new Or(sqlRawBuilder, field, operatorEnum, value)); }
public Not AddNot(string field, ConditionOperatorEnum conditionOperator, string value) { return(new Not(sqlRawBuilder, field, conditionOperator, value)); }
public AndCommand AddAnd(string field, ConditionOperatorEnum conditionOperator, string value) { return(new AndCommand(sqlRawBuilder, field, conditionOperator, value)); }