public static string GetSqlComparisonOperator(FilterComparisonOperatorEnum op) { switch (op) { case FilterComparisonOperatorEnum.Equal: return("LIKE"); case FilterComparisonOperatorEnum.NotEqual: return("NOT LIKE"); case FilterComparisonOperatorEnum.ExactlyEqual: return("="); case FilterComparisonOperatorEnum.ExactlyNotEqual: return("<>"); case FilterComparisonOperatorEnum.GreaterThan: return(">"); case FilterComparisonOperatorEnum.GreaterThanOrEqual: return(">="); case FilterComparisonOperatorEnum.LessThan: return("<"); case FilterComparisonOperatorEnum.LessThanOrEqual: return("<="); case FilterComparisonOperatorEnum.Like: return("LIKE"); default: throw new Exception( String.Format("Unknown comparison operator: '{0}'", Enum.GetName(typeof(FilterComparisonOperatorEnum), op))); } }
public FilterComparison(string fieldName, FilterComparisonOperatorEnum op, IValue value) { FieldName = fieldName; Operator = op; Value = value; }
/// <summary> /// Chainable add method for filter values. Example: /// <code> /// var grp = FilterGroup.New() /// .Add("Firstname", FilterComparisonOperatorEnum.Equal, "Roger") /// .Add("Lastname", FilterComparisonOperatorEnum.Equal, "Guillet"); /// </code> /// </summary> /// <param name="fieldName"></param> /// <param name="op"></param> /// <param name="value"></param> /// <returns>The current filter group.</returns> public FilterGroup Add(string fieldName, FilterComparisonOperatorEnum op, object value) { this.Filters.Add(new FilterComparison(fieldName, op, value)); return(this); }