This commit is contained in:
2021-02-05 15:12:32 +00:00
parent 4e36464645
commit 63957227b6

View File

@@ -435,7 +435,7 @@ namespace AyaNova.DataList
#region Build criteria for date RANGE TOKEN specified #region Build criteria for date RANGE TOKEN specified
//Used as the basis point //Used as the basis point
System.DateTime dtAfter; System.DateTime dtAfter;
System.DateTime dtBefore; System.DateTime dtBefore;
@@ -458,10 +458,10 @@ namespace AyaNova.DataList
break; break;
case "*tomorrow*": case "*tomorrow*":
//Between Tonight at midnight and day after tommorow at midnight //Between Tonight at midnight and day after tommorow at midnight
dtAfter = ClientToday.AddDays(1).AddSeconds(-1); dtAfter = ClientToday.AddDays(1).AddSeconds(-1);
dtBefore = ClientToday.AddDays(2); dtBefore = ClientToday.AddDays(2);
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*lastweek*": case "*lastweek*":
//Between two Sundays ago at midnight and last sunday at midnight //Between two Sundays ago at midnight and last sunday at midnight
dtAfter = ClientToday; dtAfter = ClientToday;
@@ -514,7 +514,7 @@ namespace AyaNova.DataList
//Now go back to sunday last second //Now go back to sunday last second
dtAfter = dtAfter.AddDays(-1); dtAfter = dtAfter.AddDays(-1);
//go seven days ahead //go seven days ahead
dtBefore = dtAfter.AddDays(7); dtBefore = dtAfter.AddDays(7);
dtAfter = dtAfter.AddSeconds(-1); dtAfter = dtAfter.AddSeconds(-1);
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
@@ -529,7 +529,7 @@ namespace AyaNova.DataList
dtBefore = dtAfter.AddMonths(1); dtBefore = dtAfter.AddMonths(1);
//case 1155 //case 1155
dtAfter = dtAfter.AddSeconds(-1); dtAfter = dtAfter.AddSeconds(-1);
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
@@ -559,7 +559,7 @@ namespace AyaNova.DataList
dtAfter = dtAfter.AddSeconds(-1); dtAfter = dtAfter.AddSeconds(-1);
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*14daywindow*": case "*14daywindow*":
//start with today zero hour //start with today zero hour
dtAfter = new DateTime(ClientToday.Year, ClientToday.Month, ClientToday.Day); dtAfter = new DateTime(ClientToday.Year, ClientToday.Month, ClientToday.Day);
@@ -576,7 +576,7 @@ namespace AyaNova.DataList
case "*past*": case "*past*":
//Forever up to Now //Forever up to Now
dtAfter = new DateTime(1753, 1, 2, 00, 00, 00);//this was for sql server but even then was probably outdated good enough though for our purposes dtAfter = new DateTime(1753, 1, 2);//this was for sql server but even then was probably outdated good enough though for our purposes
dtBefore = ClientNow; dtBefore = ClientNow;
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
@@ -598,15 +598,15 @@ namespace AyaNova.DataList
case "*thisyear*": case "*thisyear*":
//From zero hour january 1 this year //From zero hour january 1 this year
dtAfter = new DateTime(ClientNow.Year, 1, 1, 00, 00, 00).AddSeconds(-1); dtAfter = new DateTime(ClientNow.Year, 1, 1).AddSeconds(-1);
//To zero hour Jan 1 next year //To zero hour Jan 1 next year
dtBefore = new DateTime(ClientNow.AddYears(1).Year, 1, 1, 00, 00, 00); dtBefore = new DateTime(ClientNow.AddYears(1).Year, 1, 1);
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*last3months*": case "*last3months*":
//From Now minus 3 months //From Now minus 3 months
dtAfter = ClientNow.AddMonths(-3); dtAfter = ClientNow.AddMonths(-3).AddSeconds(-1);
//To Now //To Now
dtBefore = ClientNow; dtBefore = ClientNow;
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
@@ -614,7 +614,7 @@ namespace AyaNova.DataList
case "*last6months*": case "*last6months*":
//From Now minus 6 months //From Now minus 6 months
dtAfter = ClientNow.AddMonths(-6); dtAfter = ClientNow.AddMonths(-6).AddSeconds(-1);
//To Now //To Now
dtBefore = ClientNow; dtBefore = ClientNow;
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
@@ -622,120 +622,134 @@ namespace AyaNova.DataList
case "*pastyear*": //within the prior 365 days before today case "*pastyear*": //within the prior 365 days before today
//From Now minus 365 days //From Now minus 365 days
dtAfter = ClientNow.AddDays(-365); dtAfter = ClientNow.AddDays(-365).AddSeconds(-1);
//To Now //To Now
dtBefore = ClientNow; dtBefore = ClientNow;
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*past90days*": case "*past90days*":
//From Now minus 90 days //From Now minus 90 days
dtAfter = ClientNow.AddDays(-90); dtAfter = ClientNow.AddDays(-90).AddSeconds(-1);
//To Now //To Now
dtBefore = ClientNow; dtBefore = ClientNow;
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*past30days*": case "*past30days*":
//From Now minus 30 days //From Now minus 30 days
dtAfter = ClientNow.AddDays(-30); dtAfter = ClientNow.AddDays(-30).AddSeconds(-1);
//To Now //To Now
dtBefore = ClientNow; dtBefore = ClientNow;
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*past7days*": case "*past7days*":
throw new System.NotImplementedException("DATE TOKEN NOT IMPLEMENTED YET"); //From Now minus 7 days
dtAfter = ClientNow.AddDays(-7).AddSeconds(-1);
//To Now
dtBefore = ClientNow;
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*past24hours*": case "*past24hours*":
//From Now minus 24 hours //From Now minus 24 hours
dtAfter = ClientNow.AddHours(-24); dtAfter = ClientNow.AddHours(-24).AddSeconds(-1);
//To Now //To Now
dtBefore = ClientNow; dtBefore = ClientNow;
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*past6hours*": case "*past6hours*":
throw new System.NotImplementedException("DATE TOKEN NOT IMPLEMENTED YET"); //From Now minus 6 hours
dtAfter = ClientNow.AddHours(-6).AddSeconds(-1);
//To Now
dtBefore = ClientNow;
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*january*": case "*january*":
//From zero hour january 1 this year //From zero hour january 1 this year
dtAfter = new DateTime(ClientNow.Year, 1, 1, 00, 00, 00).AddSeconds(-1); dtAfter = new DateTime(ClientNow.Year, 1, 1).AddSeconds(-1);
//To zero hour feb 1 this year //To zero hour feb 1 this year
dtBefore = new DateTime(ClientNow.Year, 2, 1, 00, 00, 00); dtBefore = new DateTime(ClientNow.Year, 2, 1);
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*february*": case "*february*":
dtAfter = new DateTime(ClientNow.Year, 2, 1, 00, 00, 00).AddSeconds(-1); dtAfter = new DateTime(ClientNow.Year, 2, 1).AddSeconds(-1);
dtBefore = new DateTime(ClientNow.Year, 3, 1, 00, 00, 00); dtBefore = new DateTime(ClientNow.Year, 3, 1);
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*march*": case "*march*":
dtAfter = new DateTime(ClientNow.Year, 3, 1, 00, 00, 00).AddSeconds(-1); dtAfter = new DateTime(ClientNow.Year, 3, 1).AddSeconds(-1);
dtBefore = new DateTime(ClientNow.Year, 4, 1, 00, 00, 00); dtBefore = new DateTime(ClientNow.Year, 4, 1);
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*april*": case "*april*":
dtAfter = new DateTime(ClientNow.Year, 4, 1, 00, 00, 00).AddSeconds(-1); dtAfter = new DateTime(ClientNow.Year, 4, 1).AddSeconds(-1);
dtBefore = new DateTime(ClientNow.Year, 5, 1, 00, 00, 00); dtBefore = new DateTime(ClientNow.Year, 5, 1);
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*may*": case "*may*":
dtAfter = new DateTime(ClientNow.Year, 5, 1, 00, 00, 00).AddSeconds(-1); dtAfter = new DateTime(ClientNow.Year, 5, 1).AddSeconds(-1);
dtBefore = new DateTime(ClientNow.Year, 6, 1, 00, 00, 00); dtBefore = new DateTime(ClientNow.Year, 6, 1);
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*june*": case "*june*":
dtAfter = new DateTime(ClientNow.Year, 6, 1, 00, 00, 00).AddSeconds(-1); dtAfter = new DateTime(ClientNow.Year, 6, 1).AddSeconds(-1);
dtBefore = new DateTime(ClientNow.Year, 7, 1, 00, 00, 00); dtBefore = new DateTime(ClientNow.Year, 7, 1);
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*july*": case "*july*":
dtAfter = new DateTime(ClientNow.Year, 7, 1, 00, 00, 00).AddSeconds(-1); dtAfter = new DateTime(ClientNow.Year, 7, 1).AddSeconds(-1);
dtBefore = new DateTime(ClientNow.Year, 8, 1, 00, 00, 00); dtBefore = new DateTime(ClientNow.Year, 8, 1);
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*august*": case "*august*":
dtAfter = new DateTime(ClientNow.Year, 8, 1, 00, 00, 00).AddSeconds(-1); dtAfter = new DateTime(ClientNow.Year, 8, 1).AddSeconds(-1);
dtBefore = new DateTime(ClientNow.Year, 9, 1, 00, 00, 00); dtBefore = new DateTime(ClientNow.Year, 9, 1);
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*september*": case "*september*":
dtAfter = new DateTime(ClientNow.Year, 9, 1, 00, 00, 00).AddSeconds(-1); dtAfter = new DateTime(ClientNow.Year, 9, 1).AddSeconds(-1);
dtBefore = new DateTime(ClientNow.Year, 10, 1, 00, 00, 00); dtBefore = new DateTime(ClientNow.Year, 10, 1);
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*october*": case "*october*":
dtAfter = new DateTime(ClientNow.Year, 10, 1, 00, 00, 00).AddSeconds(-1); dtAfter = new DateTime(ClientNow.Year, 10, 1).AddSeconds(-1);
dtBefore = new DateTime(ClientNow.Year, 11, 1, 00, 00, 00); dtBefore = new DateTime(ClientNow.Year, 11, 1);
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*november*": case "*november*":
dtAfter = new DateTime(ClientNow.Year, 11, 1, 00, 00, 00).AddSeconds(-1); dtAfter = new DateTime(ClientNow.Year, 11, 1).AddSeconds(-1);
dtBefore = new DateTime(ClientNow.Year, 12, 1, 00, 00, 00); dtBefore = new DateTime(ClientNow.Year, 12, 1);
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*december*": case "*december*":
//From zero hour dec 1 this year //From zero hour dec 1 this year
dtAfter = new DateTime(ClientNow.Year, 12, 1, 00, 00, 00).AddSeconds(-1); dtAfter = new DateTime(ClientNow.Year, 12, 1).AddSeconds(-1);
//To zero hour Jan 1 next year //To zero hour Jan 1 next year
dtBefore = new DateTime(ClientNow.AddYears(1).Year, 1, 1, 00, 00, 00); dtBefore = new DateTime(ClientNow.AddYears(1).Year, 1, 1);
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore); BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*lastyearlastmonth*": case "*lastyearlastmonth*":
throw new System.NotImplementedException("DATE TOKEN NOT IMPLEMENTED YET"); //start with the first day of this month
dtAfter = new DateTime(ClientToday.Year, ClientToday.Month, 1);
//subtract a year and a Month
dtAfter = dtAfter.AddYears(-1).AddMonths(-1);
//Add one month to dtAfter to get end date
dtBefore = dtAfter.AddMonths(1);
dtAfter = dtAfter.AddSeconds(-1);
BuildBetweenTwoDatesFragment(SqlColumnNameToFilter, sb, dtAfter, dtBefore);
break; break;
case "*lastyearthismonth*": case "*lastyearthismonth*":