public void Add(
     FilterExpression.BinaryOperation binaryOperator,
     GridKnownFunction function,
     params object[] values)
 {
     this.Add(new FilterPredicate(binaryOperator, function, values));
 }
예제 #2
0
 public FilterPredicate(
     FilterExpression.BinaryOperation binaryOperator,
     GridKnownFunction function)
 {
     this.binaryOperator = binaryOperator;
     this.function       = function;
     this.filterFunction = FilterFunction.GetFilterFunction(this.function);
 }
예제 #3
0
 public FilterExpression(
     string fieldName,
     FilterExpression.BinaryOperation binaryOperation,
     GridKnownFunction function,
     params object[] values)
     : this(binaryOperation, function, values)
 {
     this.PropertyName = fieldName;
 }
예제 #4
0
 public FilterExpression(
     FilterExpression.BinaryOperation binaryOperation,
     GridKnownFunction function,
     params object[] values)
     : this()
 {
     this.LogicalOperator = GridViewHelper.GetLogicalOperator(binaryOperation);
     this.predicates.Add(new FilterPredicate(FilterExpression.BinaryOperation.AND, function, values));
 }
예제 #5
0
 public FilterPredicate(
     FilterExpression.BinaryOperation binaryOperator,
     GridKnownFunction function,
     params object[] values)
     : this(binaryOperator, function)
 {
     if (values == null)
     {
         return;
     }
     for (int index = 0; index < Math.Min(2, values.Length); ++index)
     {
         this.values.Add(values[index]);
     }
 }
예제 #6
0
 private bool IsComposite(int range, List <FilterPredicate> predicates)
 {
     if (range <= 2 || range > predicates.Count)
     {
         return(false);
     }
     FilterExpression.BinaryOperation binaryOperator = predicates[0].BinaryOperator;
     for (int index = 1; index < range; ++index)
     {
         if (predicates[index].BinaryOperator != binaryOperator)
         {
             return(true);
         }
         binaryOperator = predicates[index].BinaryOperator;
     }
     return(false);
 }
예제 #7
0
 internal static FilterLogicalOperator GetLogicalOperator(
     FilterExpression.BinaryOperation binaryOperation)
 {
     return(binaryOperation == FilterExpression.BinaryOperation.OR ? FilterLogicalOperator.Or : FilterLogicalOperator.And);
 }