This commit is contained in:
@@ -63,13 +63,13 @@ namespace AyaNova.DataList
|
||||
sb.Append(" ");
|
||||
|
||||
//handle null values separately
|
||||
if (!TagFilter && sValue == DataFilterSpecialToken.Null)
|
||||
if (!TagFilter && sValue == DataListFilterSpecialToken.Null)
|
||||
{
|
||||
switch (DataType)
|
||||
{
|
||||
case AyaUiFieldDataType.Text:
|
||||
{
|
||||
if (sOperator == DataFilterComparisonOperator.Equality)
|
||||
if (sOperator == DataListFilterComparisonOperator.Equality)
|
||||
{
|
||||
|
||||
sb.Append("Is Null");
|
||||
@@ -83,7 +83,7 @@ namespace AyaNova.DataList
|
||||
break;
|
||||
default:
|
||||
{
|
||||
if (sOperator == DataFilterComparisonOperator.Equality)
|
||||
if (sOperator == DataListFilterComparisonOperator.Equality)
|
||||
sb.Append("Is Null");
|
||||
else
|
||||
sb.Append("Is Not Null");
|
||||
@@ -106,25 +106,25 @@ namespace AyaNova.DataList
|
||||
{
|
||||
switch (sOperator)
|
||||
{
|
||||
case DataFilterComparisonOperator.Equality:
|
||||
case DataListFilterComparisonOperator.Equality:
|
||||
//no change on equals for nulls
|
||||
break;
|
||||
case DataFilterComparisonOperator.GreaterThan:
|
||||
case DataListFilterComparisonOperator.GreaterThan:
|
||||
//no change on greater than for nulls
|
||||
//(nulls are going to be assumed to be always at the
|
||||
//less than end of the scale)
|
||||
break;
|
||||
case DataFilterComparisonOperator.GreaterThanOrEqualTo:
|
||||
case DataListFilterComparisonOperator.GreaterThanOrEqualTo:
|
||||
//no change on greater than for nulls
|
||||
//(nulls are going to be assumed to be always at the
|
||||
//less than end of the scale)
|
||||
break;
|
||||
case DataFilterComparisonOperator.LessThan:
|
||||
case DataListFilterComparisonOperator.LessThan:
|
||||
sb.Append("Is Null OR ");
|
||||
sb.Append(sColumn);
|
||||
sb.Append(" ");
|
||||
break;
|
||||
case DataFilterComparisonOperator.LessThanOrEqualTo:
|
||||
case DataListFilterComparisonOperator.LessThanOrEqualTo:
|
||||
sb.Append("Is Null OR ");
|
||||
sb.Append(sColumn);
|
||||
sb.Append(" ");
|
||||
@@ -132,7 +132,7 @@ namespace AyaNova.DataList
|
||||
// case "Like":
|
||||
// //No change on like
|
||||
// break;
|
||||
case DataFilterComparisonOperator.NotEqual:
|
||||
case DataListFilterComparisonOperator.NotEqual:
|
||||
//This is the big one:
|
||||
sb.Append("Is Null OR ");
|
||||
sb.Append(sColumn);
|
||||
@@ -158,62 +158,62 @@ namespace AyaNova.DataList
|
||||
#region Build TEXT OPS criteria
|
||||
switch (sOperator)
|
||||
{
|
||||
case DataFilterComparisonOperator.Equality:
|
||||
case DataListFilterComparisonOperator.Equality:
|
||||
sb.Append("='");
|
||||
sb.Append(sValue);
|
||||
sb.Append("'");
|
||||
break;
|
||||
|
||||
case DataFilterComparisonOperator.GreaterThan:
|
||||
case DataListFilterComparisonOperator.GreaterThan:
|
||||
sb.Append(">'");
|
||||
sb.Append(sValue);
|
||||
sb.Append("'");
|
||||
break;
|
||||
|
||||
case DataFilterComparisonOperator.GreaterThanOrEqualTo:
|
||||
case DataListFilterComparisonOperator.GreaterThanOrEqualTo:
|
||||
sb.Append(">='");
|
||||
sb.Append(sValue);
|
||||
sb.Append("'");
|
||||
break;
|
||||
|
||||
case DataFilterComparisonOperator.LessThan:
|
||||
case DataListFilterComparisonOperator.LessThan:
|
||||
sb.Append("<'");
|
||||
sb.Append(sValue);
|
||||
sb.Append("'");
|
||||
break;
|
||||
|
||||
case DataFilterComparisonOperator.LessThanOrEqualTo:
|
||||
case DataListFilterComparisonOperator.LessThanOrEqualTo:
|
||||
sb.Append("<='");
|
||||
sb.Append(sValue);
|
||||
sb.Append("'");
|
||||
break;
|
||||
|
||||
case DataFilterComparisonOperator.NotEqual:
|
||||
case DataListFilterComparisonOperator.NotEqual:
|
||||
sb.Append("<>'");
|
||||
sb.Append(sValue);
|
||||
sb.Append("'");
|
||||
break;
|
||||
|
||||
//Following 7 operators added 14-June-2006
|
||||
case DataFilterComparisonOperator.NotContains:
|
||||
case DataListFilterComparisonOperator.NotContains:
|
||||
sb.Append("Not Like '%");
|
||||
sb.Append(sValue);
|
||||
sb.Append("%'");
|
||||
break;
|
||||
|
||||
case DataFilterComparisonOperator.Contains:
|
||||
case DataListFilterComparisonOperator.Contains:
|
||||
sb.Append("Like '%");
|
||||
sb.Append(sValue);
|
||||
sb.Append("%'");
|
||||
break;
|
||||
|
||||
case DataFilterComparisonOperator.StartsWith:
|
||||
case DataListFilterComparisonOperator.StartsWith:
|
||||
sb.Append("Like '");
|
||||
sb.Append(sValue);
|
||||
sb.Append("%'");
|
||||
break;
|
||||
|
||||
case DataFilterComparisonOperator.EndsWith:
|
||||
case DataListFilterComparisonOperator.EndsWith:
|
||||
sb.Append("Like '%");
|
||||
sb.Append(sValue);
|
||||
sb.Append("'");
|
||||
@@ -247,7 +247,7 @@ namespace AyaNova.DataList
|
||||
{
|
||||
switch (sOperator)
|
||||
{
|
||||
case DataFilterComparisonOperator.Equality:
|
||||
case DataListFilterComparisonOperator.Equality:
|
||||
sb.Append("= ");
|
||||
if (sValue.ToLowerInvariant() == "true")
|
||||
sb.Append("true");
|
||||
@@ -255,7 +255,7 @@ namespace AyaNova.DataList
|
||||
sb.Append("false");
|
||||
break;
|
||||
|
||||
case DataFilterComparisonOperator.NotEqual:
|
||||
case DataListFilterComparisonOperator.NotEqual:
|
||||
sb.Append("<> ");
|
||||
if (sValue.ToLowerInvariant() == "true")
|
||||
sb.Append("true");
|
||||
@@ -322,7 +322,7 @@ namespace AyaNova.DataList
|
||||
switch (sValue)
|
||||
{
|
||||
//Case 402
|
||||
case DataFilterSpecialToken.Yesterday:
|
||||
case DataListFilterSpecialToken.Yesterday:
|
||||
//Between Day before yesterday at midnight and yesterday at midnight
|
||||
dtAfter = RelativeToday.AddDays(-1);
|
||||
dtAfter = dtAfter.AddSeconds(-1);
|
||||
@@ -330,13 +330,13 @@ namespace AyaNova.DataList
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.Today:
|
||||
case DataListFilterSpecialToken.Today:
|
||||
//Between yesterday at midnight and tommorow at midnight
|
||||
dtAfter = RelativeToday.AddSeconds(-1);
|
||||
dtBefore = RelativeToday.AddDays(1);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
case DataFilterSpecialToken.Tomorrow:
|
||||
case DataListFilterSpecialToken.Tomorrow:
|
||||
//Between Tonight at midnight and day after tommorow at midnight
|
||||
dtAfter = RelativeToday.AddDays(1);
|
||||
dtAfter = dtAfter.AddSeconds(-1);
|
||||
@@ -345,7 +345,7 @@ namespace AyaNova.DataList
|
||||
break;
|
||||
|
||||
//Case 402
|
||||
case DataFilterSpecialToken.LastWeek:
|
||||
case DataListFilterSpecialToken.LastWeek:
|
||||
//Between two Sundays ago at midnight and last sunday at midnight
|
||||
dtAfter = RelativeToday;
|
||||
|
||||
@@ -365,7 +365,7 @@ namespace AyaNova.DataList
|
||||
break;
|
||||
|
||||
|
||||
case DataFilterSpecialToken.ThisWeek:
|
||||
case DataListFilterSpecialToken.ThisWeek:
|
||||
//Between Sunday at midnight and Next sunday at midnight
|
||||
dtAfter = RelativeToday;
|
||||
//go backwards to monday
|
||||
@@ -392,7 +392,7 @@ namespace AyaNova.DataList
|
||||
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
case DataFilterSpecialToken.NextWeek:
|
||||
case DataListFilterSpecialToken.NextWeek:
|
||||
//Between Next Sunday at midnight and Next Next sunday at midnight
|
||||
dtAfter = RelativeToday;
|
||||
|
||||
@@ -415,7 +415,7 @@ namespace AyaNova.DataList
|
||||
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
case DataFilterSpecialToken.LastMonth:
|
||||
case DataListFilterSpecialToken.LastMonth:
|
||||
//start with the first day of this month
|
||||
dtAfter = new DateTime(RelativeToday.Year, RelativeToday.Month, 1, RelativeToday.Hour, RelativeToday.Minute, 00);
|
||||
//subtract a Month
|
||||
@@ -431,7 +431,7 @@ namespace AyaNova.DataList
|
||||
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
case DataFilterSpecialToken.ThisMonth:
|
||||
case DataListFilterSpecialToken.ThisMonth:
|
||||
//start with the first day of this month
|
||||
dtAfter = new DateTime(RelativeToday.Year, RelativeToday.Month, 1, RelativeToday.Hour, RelativeToday.Minute, 00);
|
||||
|
||||
@@ -444,7 +444,7 @@ namespace AyaNova.DataList
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.NextMonth:
|
||||
case DataListFilterSpecialToken.NextMonth:
|
||||
//BUGBUG?
|
||||
//SERVER thinks midnight UTC is 7am our time on January 1st 2020
|
||||
//TEST thinks midnight UTC is 8am our time on January 1st 2020
|
||||
@@ -462,7 +462,7 @@ namespace AyaNova.DataList
|
||||
// log.LogInformation($"NEXT MONTH TOKEN BUILDER IMMEDIATELY BEFORE BUILDING FRAGMENT: BEFORE={dtBefore.ToString()} AND AFTER={dtAfter.ToString()}");
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
case DataFilterSpecialToken.FourteenDayWindow:
|
||||
case DataListFilterSpecialToken.FourteenDayWindow:
|
||||
//start with today zero hour
|
||||
dtAfter = new DateTime(RelativeToday.Year, RelativeToday.Month, RelativeToday.Day, RelativeToday.Hour, RelativeToday.Minute, 00);
|
||||
dtAfter = dtAfter.AddDays(-7);
|
||||
@@ -479,21 +479,21 @@ namespace AyaNova.DataList
|
||||
|
||||
//case 2067 ADDITIONAL DATE RANGES ************
|
||||
|
||||
case DataFilterSpecialToken.Past:
|
||||
case DataListFilterSpecialToken.Past:
|
||||
//Forever up to Now
|
||||
dtAfter = new DateTime(1753, 1, 2, 00, 00, 00);
|
||||
dtBefore = DateTime.UtcNow;
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.Future:
|
||||
case DataListFilterSpecialToken.Future:
|
||||
//From Now to forever (999 years from now)
|
||||
dtAfter = DateTime.UtcNow;
|
||||
dtBefore = DateTime.UtcNow.AddYears(999);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.LastYear:
|
||||
case DataListFilterSpecialToken.LastYear:
|
||||
//From zero hour january 1 a year ago
|
||||
dtAfter = new DateTime(RelativeNow.AddYears(-1).Year, 1, 1, 0, 0, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);
|
||||
//To zero hour January 1 this year
|
||||
@@ -501,7 +501,7 @@ namespace AyaNova.DataList
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.ThisYear:
|
||||
case DataListFilterSpecialToken.ThisYear:
|
||||
//From zero hour january 1 this year
|
||||
dtAfter = new DateTime(RelativeNow.Year, 1, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);
|
||||
//To zero hour Jan 1 next year
|
||||
@@ -509,7 +509,7 @@ namespace AyaNova.DataList
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.InTheLast3Months:
|
||||
case DataListFilterSpecialToken.InTheLast3Months:
|
||||
//From Now minus 3 months
|
||||
dtAfter = DateTime.UtcNow.AddMonths(-3);
|
||||
//To Now
|
||||
@@ -517,7 +517,7 @@ namespace AyaNova.DataList
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.InTheLast6Months:
|
||||
case DataListFilterSpecialToken.InTheLast6Months:
|
||||
//From Now minus 6 months
|
||||
dtAfter = DateTime.UtcNow.AddMonths(-6);
|
||||
//To Now
|
||||
@@ -525,7 +525,7 @@ namespace AyaNova.DataList
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.InTheLastYear:
|
||||
case DataListFilterSpecialToken.InTheLastYear:
|
||||
//From Now minus 365 days
|
||||
dtAfter = DateTime.UtcNow.AddDays(-365);
|
||||
//To Now
|
||||
@@ -537,7 +537,7 @@ namespace AyaNova.DataList
|
||||
//NEW ONES FOR RAVEN
|
||||
|
||||
|
||||
case DataFilterSpecialToken.YearToDate:
|
||||
case DataListFilterSpecialToken.YearToDate:
|
||||
//From zero hour january 1 this year
|
||||
dtAfter = new DateTime(RelativeNow.Year, 1, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment); ;
|
||||
//To now
|
||||
@@ -545,21 +545,21 @@ namespace AyaNova.DataList
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.Past90Days:
|
||||
case DataListFilterSpecialToken.Past90Days:
|
||||
//From Now minus 90 days
|
||||
dtAfter = DateTime.UtcNow.AddDays(-90);
|
||||
//To Now
|
||||
dtBefore = DateTime.UtcNow;
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
case DataFilterSpecialToken.Past30Days:
|
||||
case DataListFilterSpecialToken.Past30Days:
|
||||
//From Now minus 30 days
|
||||
dtAfter = DateTime.UtcNow.AddDays(-30);
|
||||
//To Now
|
||||
dtBefore = DateTime.UtcNow;
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
case DataFilterSpecialToken.Past24Hours:
|
||||
case DataListFilterSpecialToken.Past24Hours:
|
||||
//From Now minus 24 hours
|
||||
dtAfter = DateTime.UtcNow.AddHours(-24);
|
||||
//To Now
|
||||
@@ -567,7 +567,7 @@ namespace AyaNova.DataList
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.January:
|
||||
case DataListFilterSpecialToken.January:
|
||||
//From zero hour january 1 this year
|
||||
dtAfter = new DateTime(RelativeNow.Year, 1, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);
|
||||
//To zero hour feb 1 this year
|
||||
@@ -575,67 +575,67 @@ namespace AyaNova.DataList
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.February:
|
||||
case DataListFilterSpecialToken.February:
|
||||
dtAfter = new DateTime(RelativeNow.Year, 2, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 3, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.March:
|
||||
case DataListFilterSpecialToken.March:
|
||||
dtAfter = new DateTime(RelativeNow.Year, 3, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 4, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.April:
|
||||
case DataListFilterSpecialToken.April:
|
||||
dtAfter = new DateTime(RelativeNow.Year, 4, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 5, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.May:
|
||||
case DataListFilterSpecialToken.May:
|
||||
dtAfter = new DateTime(RelativeNow.Year, 5, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 6, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.June:
|
||||
case DataListFilterSpecialToken.June:
|
||||
dtAfter = new DateTime(RelativeNow.Year, 6, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 7, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.July:
|
||||
case DataListFilterSpecialToken.July:
|
||||
dtAfter = new DateTime(RelativeNow.Year, 7, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 8, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.August:
|
||||
case DataListFilterSpecialToken.August:
|
||||
dtAfter = new DateTime(RelativeNow.Year, 8, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 9, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.September:
|
||||
case DataListFilterSpecialToken.September:
|
||||
dtAfter = new DateTime(RelativeNow.Year, 9, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 10, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.October:
|
||||
case DataListFilterSpecialToken.October:
|
||||
dtAfter = new DateTime(RelativeNow.Year, 10, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 11, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.November:
|
||||
case DataListFilterSpecialToken.November:
|
||||
dtAfter = new DateTime(RelativeNow.Year, 11, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 12, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case DataFilterSpecialToken.December:
|
||||
case DataListFilterSpecialToken.December:
|
||||
//From zero hour dec 1 this year
|
||||
dtAfter = new DateTime(RelativeNow.Year, 12, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);
|
||||
//To zero hour Jan 1 next year
|
||||
@@ -664,7 +664,7 @@ namespace AyaNova.DataList
|
||||
|
||||
switch (sOperator)
|
||||
{
|
||||
case DataFilterComparisonOperator.Equality:
|
||||
case DataListFilterComparisonOperator.Equality:
|
||||
sb.Append(">='");
|
||||
sb.Append(sLowEnd);
|
||||
sb.Append("' AND ");
|
||||
@@ -675,29 +675,29 @@ namespace AyaNova.DataList
|
||||
sb.Append("'");
|
||||
break;
|
||||
|
||||
case DataFilterComparisonOperator.GreaterThan:
|
||||
case DataListFilterComparisonOperator.GreaterThan:
|
||||
sb.Append(">'");
|
||||
sb.Append(sLowEnd);
|
||||
sb.Append("'");
|
||||
break;
|
||||
|
||||
case DataFilterComparisonOperator.GreaterThanOrEqualTo:
|
||||
case DataListFilterComparisonOperator.GreaterThanOrEqualTo:
|
||||
sb.Append(">='");
|
||||
sb.Append(sLowEnd);
|
||||
sb.Append("'");
|
||||
break;
|
||||
case DataFilterComparisonOperator.LessThan:
|
||||
case DataListFilterComparisonOperator.LessThan:
|
||||
sb.Append("<'");
|
||||
sb.Append(sHighEnd);
|
||||
sb.Append("'");
|
||||
break;
|
||||
case DataFilterComparisonOperator.LessThanOrEqualTo:
|
||||
case DataListFilterComparisonOperator.LessThanOrEqualTo:
|
||||
sb.Append("<='");
|
||||
sb.Append(sHighEnd);
|
||||
sb.Append("'");
|
||||
break;
|
||||
|
||||
case DataFilterComparisonOperator.NotEqual:
|
||||
case DataListFilterComparisonOperator.NotEqual:
|
||||
sb.Append("<'");
|
||||
sb.Append(sLowEnd);
|
||||
sb.Append("' OR ");
|
||||
@@ -750,27 +750,27 @@ namespace AyaNova.DataList
|
||||
|
||||
switch (sOperator)
|
||||
{
|
||||
case DataFilterComparisonOperator.Equality:
|
||||
case DataListFilterComparisonOperator.Equality:
|
||||
sb.Append("=");
|
||||
sb.Append(sValue);
|
||||
break;
|
||||
case DataFilterComparisonOperator.GreaterThan:
|
||||
case DataListFilterComparisonOperator.GreaterThan:
|
||||
sb.Append(">");
|
||||
sb.Append(sValue);
|
||||
break;
|
||||
case DataFilterComparisonOperator.GreaterThanOrEqualTo:
|
||||
case DataListFilterComparisonOperator.GreaterThanOrEqualTo:
|
||||
sb.Append(">=");
|
||||
sb.Append(sValue);
|
||||
break;
|
||||
case DataFilterComparisonOperator.LessThan:
|
||||
case DataListFilterComparisonOperator.LessThan:
|
||||
sb.Append("<");
|
||||
sb.Append(sValue);
|
||||
break;
|
||||
case DataFilterComparisonOperator.LessThanOrEqualTo:
|
||||
case DataListFilterComparisonOperator.LessThanOrEqualTo:
|
||||
sb.Append("<=");
|
||||
sb.Append(sValue);
|
||||
break;
|
||||
case DataFilterComparisonOperator.NotEqual:
|
||||
case DataListFilterComparisonOperator.NotEqual:
|
||||
sb.Append("<>");
|
||||
sb.Append(sValue);
|
||||
break;
|
||||
|
||||
@@ -305,7 +305,7 @@ namespace AyaNova.Biz
|
||||
else
|
||||
{
|
||||
var opType = filterItem["op"].Value<string>();
|
||||
if (!DataFilterComparisonOperator.Operators.Contains(opType))
|
||||
if (!DataListFilterComparisonOperator.Operators.Contains(opType))
|
||||
AddError(ApiErrorCode.VALIDATION_INVALID_VALUE, "Filter", $"Filter array item {i}, \"op\" property value of \"{opType}\" is not a valid FilterComparisonOperator type");
|
||||
}
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
using System.Collections.Generic;
|
||||
namespace AyaNova.Biz
|
||||
{
|
||||
public static class DataFilterComparisonOperator
|
||||
public static class DataListFilterComparisonOperator
|
||||
{
|
||||
//NOTE: no LIKE or NOT LIKE deliberately
|
||||
//StartsWith and EndsWith and Contains and NotContains cover all the most common cases and avoid needing a special set of LIKE characters people have to type and we have to document
|
||||
@@ -3,7 +3,7 @@ using System;
|
||||
|
||||
namespace AyaNova.Biz
|
||||
{
|
||||
public static class DataFilterSpecialToken
|
||||
public static class DataListFilterSpecialToken
|
||||
{
|
||||
public const string Null = "{[null]}";
|
||||
public const string Yesterday = "{[yesterday]}";
|
||||
Reference in New Issue
Block a user