diff --git a/test/raven-integration/DataFilter/DataFilterFilteringLists.cs b/test/raven-integration/DataFilter/DataFilterFilteringLists.cs
index 1a43ac36..cb0c2671 100644
--- a/test/raven-integration/DataFilter/DataFilterFilteringLists.cs
+++ b/test/raven-integration/DataFilter/DataFilterFilteringLists.cs
@@ -23,17 +23,7 @@ namespace raven_integration
public class DataFilterFilteringLists
{
- public const string OpEquality = "=";
- public const string OpGreaterThan = ">";
- public const string OpGreaterThanOrEqualTo = ">=";
- public const string OpLessThan = "<";
- public const string OpLessThanOrEqualTo = "<=";
- public const string OpNotEqual = "!=";
- public const string OpNotLike = "!%";
- public const string OpStartsWith = "%-";
- public const string OpEndsWith = "-%";
- public const string OpContains = "-%-";
- public const string OpNotContains = "!-%-";
+
@@ -121,14 +111,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = new DateTime(1968, 3, 12, 10, 0, 0).ToUniversalTime();
dfilter.Add(FilterItem);
@@ -221,14 +211,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpGreaterThan;
+ FilterItem.op = Util.OpGreaterThan;
FilterItem.value = new DateTime(1970, 3, 12, 9, 0, 0).ToUniversalTime();
dfilter.Add(FilterItem);
@@ -321,14 +311,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpGreaterThanOrEqualTo;
+ FilterItem.op = Util.OpGreaterThanOrEqualTo;
FilterItem.value = new DateTime(1970, 3, 12, 10, 0, 0).ToUniversalTime();
dfilter.Add(FilterItem);
@@ -420,14 +410,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpLessThan;
+ FilterItem.op = Util.OpLessThan;
FilterItem.value = new DateTime(1970, 3, 12, 11, 0, 0).ToUniversalTime();
dfilter.Add(FilterItem);
@@ -520,14 +510,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpLessThanOrEqualTo;
+ FilterItem.op = Util.OpLessThanOrEqualTo;
FilterItem.value = new DateTime(1970, 3, 12, 10, 0, 0).ToUniversalTime();
dfilter.Add(FilterItem);
@@ -620,14 +610,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpNotEqual;
+ FilterItem.op = Util.OpNotEqual;
FilterItem.value = new DateTime(1970, 4, 10, 10, 0, 0).ToUniversalTime();
dfilter.Add(FilterItem);
@@ -720,14 +710,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = TokenYesterday;
dfilter.Add(FilterItem);
@@ -821,14 +811,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = TokenToday;
dfilter.Add(FilterItem);
@@ -921,14 +911,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = TokenTomorrow;
dfilter.Add(FilterItem);
@@ -1021,14 +1011,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = TokenLastWeek;
dfilter.Add(FilterItem);
@@ -1122,14 +1112,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = TokenThisWeek;
dfilter.Add(FilterItem);
@@ -1224,14 +1214,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = TokenNextWeek;
dfilter.Add(FilterItem);
@@ -1325,14 +1315,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = TokenLastMonth;
dfilter.Add(FilterItem);
@@ -1428,14 +1418,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = TokenThisMonth;
dfilter.Add(FilterItem);
@@ -1531,14 +1521,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = TokenNextMonth;
dfilter.Add(FilterItem);
@@ -1634,14 +1624,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = TokenFourteenDayWindow;
dfilter.Add(FilterItem);
@@ -1738,14 +1728,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = TokenPast;
dfilter.Add(FilterItem);
@@ -1839,14 +1829,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = TokenFuture;
dfilter.Add(FilterItem);
@@ -1941,14 +1931,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = TokenLastYear;
dfilter.Add(FilterItem);
@@ -2045,14 +2035,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = TokenThisYear;
dfilter.Add(FilterItem);
@@ -2149,14 +2139,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = TokenInTheLast3Months;
dfilter.Add(FilterItem);
@@ -2250,14 +2240,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = TokenInTheLast6Months;
dfilter.Add(FilterItem);
@@ -2351,14 +2341,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = TokenInTheLastYear;
dfilter.Add(FilterItem);
@@ -2471,14 +2461,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = FilterToken;
dfilter.Add(FilterItem);
@@ -2586,14 +2576,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = FilterToken;
dfilter.Add(FilterItem);
@@ -2699,14 +2689,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = FilterToken;
dfilter.Add(FilterItem);
@@ -2813,14 +2803,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//## INCLUSIVE FILTER
dynamic FilterItem = new JObject();
FilterItem.fld = "startdate";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = FilterToken;
dfilter.Add(FilterItem);
@@ -2941,14 +2931,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetRunNameStart;
dfilter.Add(DataFilterNameStart);
//active bool test filter
dynamic DataFilterActive = new JObject();
DataFilterActive.fld = "notes";
- DataFilterActive.op = OpEquality;
+ DataFilterActive.op = Util.OpEquality;
DataFilterActive.value = "aardvark";
dfilter.Add(DataFilterActive);
@@ -3065,14 +3055,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetRunNameStart;
dfilter.Add(DataFilterNameStart);
//active bool test filter
dynamic DataFilterActive = new JObject();
DataFilterActive.fld = "notes";
- DataFilterActive.op = OpEquality;
+ DataFilterActive.op = Util.OpEquality;
DataFilterActive.value = "O'Flaherty's pub";
dfilter.Add(DataFilterActive);
@@ -3186,14 +3176,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetRunNameStart;
dfilter.Add(DataFilterNameStart);
//active bool test filter
dynamic DataFilterActive = new JObject();
DataFilterActive.fld = "notes";
- DataFilterActive.op = OpEquality;
+ DataFilterActive.op = Util.OpEquality;
DataFilterActive.value = "Bill & Ted's excellent adventure";
dfilter.Add(DataFilterActive);
@@ -3308,14 +3298,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetRunNameStart;
dfilter.Add(DataFilterNameStart);
//active bool test filter
dynamic DataFilterActive = new JObject();
DataFilterActive.fld = "notes";
- DataFilterActive.op = OpEquality;
+ DataFilterActive.op = Util.OpEquality;
DataFilterActive.value = InclusiveTestString;
dfilter.Add(DataFilterActive);
@@ -3430,14 +3420,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetRunNameStart;
dfilter.Add(DataFilterNameStart);
//active bool test filter
dynamic DataFilterActive = new JObject();
DataFilterActive.fld = "notes";
- DataFilterActive.op = OpGreaterThan;
+ DataFilterActive.op = Util.OpGreaterThan;
DataFilterActive.value = "Aardvark";
dfilter.Add(DataFilterActive);
@@ -3552,14 +3542,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetRunNameStart;
dfilter.Add(DataFilterNameStart);
//active bool test filter
dynamic DataFilterActive = new JObject();
DataFilterActive.fld = "notes";
- DataFilterActive.op = OpGreaterThanOrEqualTo;
+ DataFilterActive.op = Util.OpGreaterThanOrEqualTo;
DataFilterActive.value = "Bjarn";
dfilter.Add(DataFilterActive);
@@ -3674,14 +3664,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetRunNameStart;
dfilter.Add(DataFilterNameStart);
//active bool test filter
dynamic DataFilterActive = new JObject();
DataFilterActive.fld = "notes";
- DataFilterActive.op = OpLessThan;
+ DataFilterActive.op = Util.OpLessThan;
DataFilterActive.value = "Celery";
dfilter.Add(DataFilterActive);
@@ -3796,14 +3786,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetRunNameStart;
dfilter.Add(DataFilterNameStart);
//active bool test filter
dynamic DataFilterActive = new JObject();
DataFilterActive.fld = "notes";
- DataFilterActive.op = OpLessThanOrEqualTo;
+ DataFilterActive.op = Util.OpLessThanOrEqualTo;
DataFilterActive.value = "Dusseldorf";
dfilter.Add(DataFilterActive);
@@ -3917,14 +3907,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetRunNameStart;
dfilter.Add(DataFilterNameStart);
//active bool test filter
dynamic DataFilterActive = new JObject();
DataFilterActive.fld = "notes";
- DataFilterActive.op = OpNotEqual;
+ DataFilterActive.op = Util.OpNotEqual;
DataFilterActive.value = "Elephant";
dfilter.Add(DataFilterActive);
@@ -4038,14 +4028,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetRunNameStart;
dfilter.Add(DataFilterNameStart);
//active bool test filter
dynamic DataFilterActive = new JObject();
DataFilterActive.fld = "notes";
- DataFilterActive.op = OpNotContains;
+ DataFilterActive.op = Util.OpNotContains;
DataFilterActive.value = "short";
dfilter.Add(DataFilterActive);
@@ -4159,14 +4149,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetRunNameStart;
dfilter.Add(DataFilterNameStart);
//active bool test filter
dynamic DataFilterActive = new JObject();
DataFilterActive.fld = "notes";
- DataFilterActive.op = OpContains;
+ DataFilterActive.op = Util.OpContains;
DataFilterActive.value = "red";
dfilter.Add(DataFilterActive);
@@ -4280,14 +4270,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetRunNameStart;
dfilter.Add(DataFilterNameStart);
//active bool test filter
dynamic DataFilterActive = new JObject();
DataFilterActive.fld = "notes";
- DataFilterActive.op = OpStartsWith;
+ DataFilterActive.op = Util.OpStartsWith;
DataFilterActive.value = "Gra";
dfilter.Add(DataFilterActive);
@@ -4402,14 +4392,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetRunNameStart;
dfilter.Add(DataFilterNameStart);
//active bool test filter
dynamic DataFilterActive = new JObject();
DataFilterActive.fld = "notes";
- DataFilterActive.op = OpEndsWith;
+ DataFilterActive.op = Util.OpEndsWith;
DataFilterActive.value = "vat";
dfilter.Add(DataFilterActive);
@@ -4520,7 +4510,7 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
@@ -4528,7 +4518,7 @@ namespace raven_integration
dynamic FilterItem = new JObject();
FilterItem.fld = "count";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = 5;
dfilter.Add(FilterItem);
@@ -4620,7 +4610,7 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
@@ -4628,7 +4618,7 @@ namespace raven_integration
dynamic FilterItem = new JObject();
FilterItem.fld = "count";
- FilterItem.op = OpGreaterThan;
+ FilterItem.op = Util.OpGreaterThan;
FilterItem.value = 54;
dfilter.Add(FilterItem);
@@ -4720,7 +4710,7 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
@@ -4728,7 +4718,7 @@ namespace raven_integration
dynamic FilterItem = new JObject();
FilterItem.fld = "count";
- FilterItem.op = OpGreaterThanOrEqualTo;
+ FilterItem.op = Util.OpGreaterThanOrEqualTo;
FilterItem.value = 555;
dfilter.Add(FilterItem);
@@ -4822,7 +4812,7 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
@@ -4830,7 +4820,7 @@ namespace raven_integration
dynamic FilterItem = new JObject();
FilterItem.fld = "count";
- FilterItem.op = OpLessThan;
+ FilterItem.op = Util.OpLessThan;
FilterItem.value = 5555;
dfilter.Add(FilterItem);
@@ -4923,7 +4913,7 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
@@ -4931,7 +4921,7 @@ namespace raven_integration
dynamic FilterItem = new JObject();
FilterItem.fld = "count";
- FilterItem.op = OpLessThanOrEqualTo;
+ FilterItem.op = Util.OpLessThanOrEqualTo;
FilterItem.value = -444;
dfilter.Add(FilterItem);
@@ -5025,7 +5015,7 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
@@ -5033,7 +5023,7 @@ namespace raven_integration
dynamic FilterItem = new JObject();
FilterItem.fld = "count";
- FilterItem.op = OpNotEqual;
+ FilterItem.op = Util.OpNotEqual;
FilterItem.value = 223;
dfilter.Add(FilterItem);
@@ -5153,14 +5143,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//active bool test filter
dynamic DataFilterActive = new JObject();
DataFilterActive.fld = "active";
- DataFilterActive.op = OpEquality;
+ DataFilterActive.op = Util.OpEquality;
DataFilterActive.value = true;
dfilter.Add(DataFilterActive);
@@ -5279,14 +5269,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
//active bool test filter
dynamic DataFilterActive = new JObject();
DataFilterActive.fld = "active";
- DataFilterActive.op = OpNotEqual;
+ DataFilterActive.op = Util.OpNotEqual;
DataFilterActive.value = true;
dfilter.Add(DataFilterActive);
@@ -5391,7 +5381,7 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
@@ -5399,7 +5389,7 @@ namespace raven_integration
dynamic FilterItem = new JObject();
FilterItem.fld = "dollaramount";
- FilterItem.op = OpEquality;
+ FilterItem.op = Util.OpEquality;
FilterItem.value = 5.55;
dfilter.Add(FilterItem);
@@ -5491,7 +5481,7 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
@@ -5499,7 +5489,7 @@ namespace raven_integration
dynamic FilterItem = new JObject();
FilterItem.fld = "dollaramount";
- FilterItem.op = OpGreaterThan;
+ FilterItem.op = Util.OpGreaterThan;
FilterItem.value = 54.44;
dfilter.Add(FilterItem);
@@ -5591,7 +5581,7 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
@@ -5599,7 +5589,7 @@ namespace raven_integration
dynamic FilterItem = new JObject();
FilterItem.fld = "dollaramount";
- FilterItem.op = OpGreaterThanOrEqualTo;
+ FilterItem.op = Util.OpGreaterThanOrEqualTo;
FilterItem.value = 555.55;
dfilter.Add(FilterItem);
@@ -5693,7 +5683,7 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
@@ -5701,7 +5691,7 @@ namespace raven_integration
dynamic FilterItem = new JObject();
FilterItem.fld = "dollaramount";
- FilterItem.op = OpLessThan;
+ FilterItem.op = Util.OpLessThan;
FilterItem.value = 5555.55;
dfilter.Add(FilterItem);
@@ -5794,7 +5784,7 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
@@ -5802,7 +5792,7 @@ namespace raven_integration
dynamic FilterItem = new JObject();
FilterItem.fld = "dollaramount";
- FilterItem.op = OpLessThanOrEqualTo;
+ FilterItem.op = Util.OpLessThanOrEqualTo;
FilterItem.value = -444.44;
dfilter.Add(FilterItem);
@@ -5896,7 +5886,7 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
@@ -5904,7 +5894,7 @@ namespace raven_integration
dynamic FilterItem = new JObject();
FilterItem.fld = "dollaramount";
- FilterItem.op = OpNotEqual;
+ FilterItem.op = Util.OpNotEqual;
FilterItem.value = 223.23;
dfilter.Add(FilterItem);
@@ -6038,14 +6028,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetRunNameStart;
dfilter.Add(DataFilterNameStart);
//active test filter
dynamic DataFilterActive = new JObject();
DataFilterActive.fld = "tags";
- DataFilterActive.op = OpEquality;
+ DataFilterActive.op = Util.OpEquality;
dynamic FilterTagsArray = new JArray();
FilterTagsArray.Add("red-tag-test");
FilterTagsArray.Add("green-tag-test");//green is the only one missing from the exclusive widget
@@ -6178,14 +6168,14 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetRunNameStart;
dfilter.Add(DataFilterNameStart);
//active test filter
dynamic DataFilterActive = new JObject();
DataFilterActive.fld = "tags";
- DataFilterActive.op = OpEquality;
+ DataFilterActive.op = Util.OpEquality;
dynamic FilterTagsArray = new JArray();
FilterTagsArray.Add("red-tag-test");
FilterTagsArray.Add("Ādam Iñtërnâtiônàližætiøn");
diff --git a/test/raven-integration/DataFilter/DataFilterOrderBy.cs b/test/raven-integration/DataFilter/DataFilterOrderBy.cs
index d6846782..f1d76869 100644
--- a/test/raven-integration/DataFilter/DataFilterOrderBy.cs
+++ b/test/raven-integration/DataFilter/DataFilterOrderBy.cs
@@ -11,8 +11,7 @@ namespace raven_integration
public class DataFilterOrderBy
{
- public const string OpStartsWith = "%-";
-
+
///
///
///
@@ -57,7 +56,7 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
d.filter = dfilter.ToString();//it expects it to be a json string, not actual json
@@ -148,7 +147,7 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
d.filter = dfilter.ToString();
@@ -245,7 +244,7 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
d.filter = dfilter.ToString();
@@ -373,7 +372,7 @@ namespace raven_integration
//name starts with filter to constrict to widgets that this test block created only
dynamic DataFilterNameStart = new JObject();
DataFilterNameStart.fld = "name";
- DataFilterNameStart.op = OpStartsWith;
+ DataFilterNameStart.op = Util.OpStartsWith;
DataFilterNameStart.value = WidgetNameStart;
dfilter.Add(DataFilterNameStart);
d.filter = dfilter.ToString();
diff --git a/test/raven-integration/User/UserCrud.cs b/test/raven-integration/User/UserCrud.cs
index 274231e8..a4c60457 100644
--- a/test/raven-integration/User/UserCrud.cs
+++ b/test/raven-integration/User/UserCrud.cs
@@ -315,6 +315,105 @@ namespace raven_integration
+ ///
+ ///
+ ///
+ [Fact]
+ public async void UserListFilterAndSortWorks()
+ {
+
+ var ObjectNameStart = Util.Uniquify("UserListFilterAndSortWorks");
+
+ //CREATE 3 TEST WIDGETS TO TEST ORDER
+ long FirstInOrdertId = 0;
+ long SecondInOrderId = 0;
+ long ThirdInOrderId = 0;
+
+ dynamic d = new JObject();
+ d.name = Util.Uniquify(ObjectNameStart);
+ d.startDate = DateTime.Now;
+ d.endDate = DateTime.Now.AddHours(1);
+
+ ApiResponse a = await Util.PostAsync("Widget", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString());
+ Util.ValidateDataReturnResponseOk(a);
+ FirstInOrdertId = a.ObjectResponse["data"]["id"].Value();
+
+ d = new JObject();
+ d.name = Util.Uniquify(ObjectNameStart);
+ d.startDate = DateTime.Now.AddHours(1);
+ d.endDate = DateTime.Now.AddHours(2);
+ a = await Util.PostAsync("Widget", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString());
+ Util.ValidateDataReturnResponseOk(a);
+ SecondInOrderId = a.ObjectResponse["data"]["id"].Value();
+
+ d = new JObject();
+ d.name = Util.Uniquify(ObjectNameStart);
+ d.startDate = DateTime.Now.AddHours(2);
+ d.endDate = DateTime.Now.AddHours(3);
+ a = await Util.PostAsync("Widget", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString());
+ Util.ValidateDataReturnResponseOk(a);
+ ThirdInOrderId = a.ObjectResponse["data"]["id"].Value();
+
+
+ //CREATE FILTER
+ d = new JObject();
+ d.name = Util.Uniquify(ObjectNameStart);
+ d["public"] = true;
+ d.listKey = "widget";
+
+ //FILTER IN BY NAME FOR TESTING THIS RUN ONLY
+ dynamic dfilter = new JArray();
+ //name starts with filter to constrict to widgets that this test block created only
+ dynamic DataFilterNameStart = new JObject();
+ DataFilterNameStart.fld = "name";
+ DataFilterNameStart.op = Util.OpStartsWith;
+ DataFilterNameStart.value = ObjectNameStart;
+ dfilter.Add(DataFilterNameStart);
+ d.filter = dfilter.ToString();
+
+ //SORT ORDER ###################
+ dynamic dsortarray = new JArray();
+ dynamic dsort = new JObject();
+ dsort.fld = "startdate";
+ dsort.dir = "+";
+ dsortarray.Add(dsort);
+ d.sort = dsortarray.ToString();
+
+ a = await Util.PostAsync("DataFilter", await Util.GetTokenAsync("manager", "l3tm3in"), d.ToString());
+ Util.ValidateDataReturnResponseOk(a);
+
+ long DataFilterId = a.ObjectResponse["data"]["id"].Value();
+
+ //NOW FETCH WIDGET LIST WITH FILTER
+ a = await Util.GetAsync($"Widget/listwidgets?Offset=0&Limit=999&DataFilterId={DataFilterId.ToString()}", await Util.GetTokenAsync("manager", "l3tm3in"));
+ Util.ValidateDataReturnResponseOk(a);
+ Util.ValidateHTTPStatusCode(a, 200);
+
+ //assert contains exactly 3 records
+ ((JArray)a.ObjectResponse["data"]).Count.Should().Be(3);
+
+ //assert the order returned
+ a.ObjectResponse["data"][0]["id"].Value().Should().Be(FirstInOrdertId);
+ a.ObjectResponse["data"][1]["id"].Value().Should().Be(SecondInOrderId);
+ a.ObjectResponse["data"][2]["id"].Value().Should().Be(ThirdInOrderId);
+
+
+ a = await Util.DeleteAsync("Widget/" + FirstInOrdertId.ToString(), await Util.GetTokenAsync("manager", "l3tm3in"));
+ Util.ValidateHTTPStatusCode(a, 204);
+
+ a = await Util.DeleteAsync("Widget/" + SecondInOrderId.ToString(), await Util.GetTokenAsync("manager", "l3tm3in"));
+ Util.ValidateHTTPStatusCode(a, 204);
+
+ a = await Util.DeleteAsync("Widget/" + ThirdInOrderId.ToString(), await Util.GetTokenAsync("manager", "l3tm3in"));
+ Util.ValidateHTTPStatusCode(a, 204);
+
+ //DELETE DATAFILTER
+ a = await Util.DeleteAsync("DataFilter/" + DataFilterId.ToString(), await Util.GetTokenAsync("manager", "l3tm3in"));
+ Util.ValidateHTTPStatusCode(a, 204);
+
+ }
+
+
//==================================================
}//eoc
diff --git a/test/raven-integration/util.cs b/test/raven-integration/util.cs
index 1c3a04e1..61ac682d 100644
--- a/test/raven-integration/util.cs
+++ b/test/raven-integration/util.cs
@@ -10,6 +10,18 @@ namespace raven_integration
{
public static class Util
{
+ public const string OpEquality = "=";
+ public const string OpGreaterThan = ">";
+ public const string OpGreaterThanOrEqualTo = ">=";
+ public const string OpLessThan = "<";
+ public const string OpLessThanOrEqualTo = "<=";
+ public const string OpNotEqual = "!=";
+ public const string OpNotLike = "!%";
+ public const string OpStartsWith = "%-";
+ public const string OpEndsWith = "-%";
+ public const string OpContains = "-%-";
+ public const string OpNotContains = "!-%-";
+
private static HttpClient client { get; } = new HttpClient();
private static string API_BASE_URL = "http://localhost:7575/api/v8.0/";