private static string GetConditionString <T>(FilterRule rule, IFilterOperators filterOperators, ref int parameterNumber)
 {
     if (rule.Operator == filterOperators.EqualOperator)
     {
         return(String.Format("x.{0} == @{1}", rule.PropertyName, parameterNumber++));
     }
     else if (rule.Operator == filterOperators.NotEqualOperator)
     {
         return(String.Format("x.{0} != @{1}", rule.PropertyName, parameterNumber++));
     }
     else if (rule.Operator == filterOperators.Lesser)
     {
         return(String.Format("x.{0} < @{1}", rule.PropertyName, parameterNumber++));
     }
     else if (rule.Operator == filterOperators.Greater)
     {
         return(String.Format("x.{0} > @{1}", rule.PropertyName, parameterNumber++));
     }
     else if (rule.Operator == filterOperators.LessOrEqualOperator)
     {
         return(String.Format("x.{0} <= @{1}", rule.PropertyName, parameterNumber++));
     }
     else if (rule.Operator == filterOperators.GreaterOrEqualOperator)
     {
         return(String.Format("x.{0} >= @{1}", rule.PropertyName, parameterNumber++));
     }
     else if (rule.Operator == filterOperators.ContainsOperator)
     {
         return(String.Format("x.{0}.Contains(@{1})", rule.PropertyName, parameterNumber++));
     }
     else if (rule.Operator == filterOperators.UserDefinedOperator)
     {
         return(String.Format("x.{0}", rule.PropertyName));
     }
     else
     {
         throw new ArgumentException("Unknown filter operator");
     }
 }
Beispiel #2
0
 public FilterWithOperators(Filter filter, IFilterOperators filterOperators)
 {
     Filter          = filter;
     FilterOperators = filterOperators;
 }