/// <summary> /// Append a comparing statement (with AND logic to existing conditional statement) /// </summary> /// <param name="fieldName">Field name</param> /// <param name="value">Comparing value</param> /// <param name="whereOperator">Operator (default is equal)</param> /// <param name="negated">Negate the statement (default is false)</param> /// <returns>self</returns> public CommandType Where( string fieldName, object value, SingleValueOperator whereOperator = SingleValueOperator.Equal, bool negated = false ) { return(this.AddStatement(this.CreateWhereCondition(fieldName, value, whereOperator, negated))); }
/// <summary> /// Add HAVING condition, if already exists, join the current one(s) with AND boolean operator /// </summary> /// <param name="fieldName">Field name to be compared</param> /// <param name="value">Value to be compared</param> /// <param name="op">Operator</param> /// <param name="negated">Statement negation marker</param> /// <returns>self</returns> public SelectQuery Having( string fieldName, object value, SingleValueOperator op = SingleValueOperator.Equal, bool negated = false ) { return(this.AddHavingStatement( this.CreateWhereCondition(fieldName, value, op, negated) )); }
/// <summary> /// Create an instance of where condition, forked from current object /// </summary> /// <param name="fieldName">Field name</param> /// <param name="value">Value</param> /// <param name="whereOperator">Comparing operator (default is equal)</param> /// <param name="negated">Negated statement (default is false)</param> /// <returns>Condition Instance</returns> public SingleValueCondition CreateWhereCondition( string fieldName, object value, SingleValueOperator whereOperator = SingleValueOperator.Equal, bool negated = false ) { return(new SingleValueCondition(fieldName, value, this.ParamBinder) { Operator = whereOperator, Negated = negated }); }
/// <summary> /// Convert operator enum to SQL operator string /// </summary> /// <param name="operatorEnum">Operator enum</param> /// <returns>SQL operator string</returns> public static string OperatorString(SingleValueOperator operatorEnum) { switch (operatorEnum) { case SingleValueOperator.Equal: return("="); case SingleValueOperator.NotEqual: return("!="); case SingleValueOperator.Greater: return(">"); case SingleValueOperator.GreaterOrEqual: return(">="); case SingleValueOperator.Less: return("<"); case SingleValueOperator.LessOrEqual: return("<="); case SingleValueOperator.Like: return("LIKE"); case SingleValueOperator.NotLike: return("NOT LIKE"); } return(""); }