|
@@ -144,9 +144,9 @@ namespace InABox.Core
|
|
|
Operator.IsLessThanOrEqualTo
|
|
|
};
|
|
|
|
|
|
- public static FilterConstant[] Constants(Type type, Operator op)
|
|
|
+ public static FilterConstant[] Constants(Type type, Operator op, bool aggregate = false)
|
|
|
{
|
|
|
- if (type == typeof(Guid) && op == Operator.IsEqualTo || op == Operator.IsNotEqualTo)
|
|
|
+ if (type == typeof(Guid) && (op == Operator.IsEqualTo || op == Operator.IsNotEqualTo))
|
|
|
return new[] { FilterConstant.Null };
|
|
|
|
|
|
if ((type == typeof(DateTime)) && SimpleOperators.Contains(op))
|
|
@@ -190,13 +190,14 @@ namespace InABox.Core
|
|
|
FilterConstant.StartOfNextFinancialYear,
|
|
|
FilterConstant.EndOfNextFinancialYear
|
|
|
};
|
|
|
-
|
|
|
+
|
|
|
if (type.IsNumeric() && SimpleOperators.Contains(op))
|
|
|
- return new[]
|
|
|
- {
|
|
|
- FilterConstant.Zero
|
|
|
- };
|
|
|
-
|
|
|
+ {
|
|
|
+ return aggregate
|
|
|
+ ? new[] { FilterConstant.Null }
|
|
|
+ : new [] { FilterConstant.Zero };
|
|
|
+ }
|
|
|
+
|
|
|
return new FilterConstant[] { };
|
|
|
}
|
|
|
}
|