This commit is contained in:
@@ -279,16 +279,16 @@ namespace AyaNova.Biz
|
|||||||
//HOWEVER, if it's a relative date filter TOKEN like "nextMonth" then the users time zone offset will be taken into consideration
|
//HOWEVER, if it's a relative date filter TOKEN like "nextMonth" then the users time zone offset will be taken into consideration
|
||||||
|
|
||||||
//So this is the core date time to work off of
|
//So this is the core date time to work off of
|
||||||
DateTime RelativeNow=DateTime.Now;
|
DateTime RelativeToday = DateTime.Today;
|
||||||
|
|
||||||
|
|
||||||
if (sValue.StartsWith("{[") && sValue.EndsWith("]}"))
|
if (sValue.StartsWith("{[") && sValue.EndsWith("]}"))
|
||||||
{
|
{
|
||||||
//Need to adjust RelativeNow to users time frame
|
//Need to adjust RelativeToday to users time frame
|
||||||
//Fetch useroptions object and relative time offset
|
//Fetch useroptions object and relative time offset
|
||||||
AyaNova.Models.AyContext ct = AyaNova.Util.ServiceProviderProvider.DBContext;
|
AyaNova.Models.AyContext ct = AyaNova.Util.ServiceProviderProvider.DBContext;
|
||||||
var u = ct.User.AsNoTracking().Where(a => a.Id == userId).Select(m => new { roles = m.Roles, name = m.Name, id = m.Id, localeId = m.LocaleId }).First();
|
var u = ct.User.AsNoTracking().Where(a => a.Id == userId).Select(m => new { tz = m.UserOptions.TimeZoneOffset }).First();
|
||||||
|
RelativeToday.AddHours((double)u.tz);
|
||||||
|
|
||||||
#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
|
||||||
@@ -299,30 +299,30 @@ namespace AyaNova.Biz
|
|||||||
//Case 402
|
//Case 402
|
||||||
case FilterSpecialToken.Yesterday:
|
case FilterSpecialToken.Yesterday:
|
||||||
//Between Day before yesterday at midnight and yesterday at midnight
|
//Between Day before yesterday at midnight and yesterday at midnight
|
||||||
dtAfter = System.DateTime.Today.AddDays(-1);
|
dtAfter = RelativeToday.AddDays(-1);
|
||||||
dtAfter = dtAfter.AddSeconds(-1);
|
dtAfter = dtAfter.AddSeconds(-1);
|
||||||
dtBefore = System.DateTime.Today;//.AddDays(-1);
|
dtBefore = RelativeToday;//.AddDays(-1);
|
||||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case FilterSpecialToken.Today:
|
case FilterSpecialToken.Today:
|
||||||
//Between yesterday at midnight and tommorow at midnight
|
//Between yesterday at midnight and tommorow at midnight
|
||||||
dtAfter = System.DateTime.Today.AddSeconds(-1);
|
dtAfter = RelativeToday.AddSeconds(-1);
|
||||||
dtBefore = System.DateTime.Today.AddDays(1);
|
dtBefore = RelativeToday.AddDays(1);
|
||||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||||
break;
|
break;
|
||||||
case FilterSpecialToken.Tomorrow:
|
case FilterSpecialToken.Tomorrow:
|
||||||
//Between Tonight at midnight and day after tommorow at midnight
|
//Between Tonight at midnight and day after tommorow at midnight
|
||||||
dtAfter = System.DateTime.Today.AddDays(1);
|
dtAfter = RelativeToday.AddDays(1);
|
||||||
dtAfter = dtAfter.AddSeconds(-1);
|
dtAfter = dtAfter.AddSeconds(-1);
|
||||||
dtBefore = System.DateTime.Today.AddDays(2);
|
dtBefore = RelativeToday.AddDays(2);
|
||||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
//Case 402
|
//Case 402
|
||||||
case FilterSpecialToken.LastWeek:
|
case FilterSpecialToken.LastWeek:
|
||||||
//Between two Sundays ago at midnight and last sunday at midnight
|
//Between two Sundays ago at midnight and last sunday at midnight
|
||||||
dtAfter = System.DateTime.Today;
|
dtAfter = RelativeToday;
|
||||||
|
|
||||||
//go back a week
|
//go back a week
|
||||||
dtAfter = dtAfter.AddDays(-7);
|
dtAfter = dtAfter.AddDays(-7);
|
||||||
@@ -342,7 +342,7 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
case FilterSpecialToken.ThisWeek:
|
case FilterSpecialToken.ThisWeek:
|
||||||
//Between Sunday at midnight and Next sunday at midnight
|
//Between Sunday at midnight and Next sunday at midnight
|
||||||
dtAfter = System.DateTime.Today;
|
dtAfter = RelativeToday;
|
||||||
//go backwards to monday
|
//go backwards to monday
|
||||||
while (dtAfter.DayOfWeek != DayOfWeek.Monday)
|
while (dtAfter.DayOfWeek != DayOfWeek.Monday)
|
||||||
dtAfter = dtAfter.AddDays(-1);
|
dtAfter = dtAfter.AddDays(-1);
|
||||||
@@ -352,9 +352,9 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
dtBefore = System.DateTime.Today;
|
dtBefore = RelativeToday;
|
||||||
//go forwards to monday
|
//go forwards to monday
|
||||||
if (System.DateTime.Today.DayOfWeek == DayOfWeek.Monday)
|
if (RelativeToday.DayOfWeek == DayOfWeek.Monday)
|
||||||
{
|
{
|
||||||
//Monday today? then go to next monday
|
//Monday today? then go to next monday
|
||||||
dtBefore = dtBefore.AddDays(7);
|
dtBefore = dtBefore.AddDays(7);
|
||||||
@@ -369,7 +369,7 @@ namespace AyaNova.Biz
|
|||||||
break;
|
break;
|
||||||
case FilterSpecialToken.NextWeek:
|
case FilterSpecialToken.NextWeek:
|
||||||
//Between Next Sunday at midnight and Next Next sunday at midnight
|
//Between Next Sunday at midnight and Next Next sunday at midnight
|
||||||
dtAfter = System.DateTime.Today;
|
dtAfter = RelativeToday;
|
||||||
|
|
||||||
//If today is monday skip over it first
|
//If today is monday skip over it first
|
||||||
if (dtAfter.DayOfWeek == DayOfWeek.Monday)
|
if (dtAfter.DayOfWeek == DayOfWeek.Monday)
|
||||||
@@ -392,7 +392,7 @@ namespace AyaNova.Biz
|
|||||||
break;
|
break;
|
||||||
case FilterSpecialToken.LastMonth:
|
case FilterSpecialToken.LastMonth:
|
||||||
//start with the first day of this month
|
//start with the first day of this month
|
||||||
dtAfter = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1, 00, 00, 00);
|
dtAfter = new DateTime(RelativeToday.Year, RelativeToday.Month, 1, 00, 00, 00);
|
||||||
//subtract a Month
|
//subtract a Month
|
||||||
dtAfter = dtAfter.AddMonths(-1);
|
dtAfter = dtAfter.AddMonths(-1);
|
||||||
|
|
||||||
@@ -408,7 +408,7 @@ namespace AyaNova.Biz
|
|||||||
break;
|
break;
|
||||||
case FilterSpecialToken.ThisMonth:
|
case FilterSpecialToken.ThisMonth:
|
||||||
//start with the first day of this month
|
//start with the first day of this month
|
||||||
dtAfter = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1, 00, 00, 00);
|
dtAfter = new DateTime(RelativeToday.Year, RelativeToday.Month, 1, 00, 00, 00);
|
||||||
|
|
||||||
//Add one month to dtAfter to get end date
|
//Add one month to dtAfter to get end date
|
||||||
dtBefore = dtAfter.AddMonths(1);
|
dtBefore = dtAfter.AddMonths(1);
|
||||||
@@ -421,7 +421,7 @@ namespace AyaNova.Biz
|
|||||||
|
|
||||||
case FilterSpecialToken.NextMonth:
|
case FilterSpecialToken.NextMonth:
|
||||||
//start with the first day of this month
|
//start with the first day of this month
|
||||||
dtAfter = new DateTime(DateTime.Today.Year, DateTime.Today.Month, 1, 00, 00, 00);
|
dtAfter = new DateTime(RelativeToday.Year, RelativeToday.Month, 1, 00, 00, 00);
|
||||||
//Add a Month
|
//Add a Month
|
||||||
dtAfter = dtAfter.AddMonths(1);
|
dtAfter = dtAfter.AddMonths(1);
|
||||||
|
|
||||||
@@ -435,7 +435,7 @@ namespace AyaNova.Biz
|
|||||||
break;
|
break;
|
||||||
case FilterSpecialToken.FourteenDayWindow:
|
case FilterSpecialToken.FourteenDayWindow:
|
||||||
//start with today zero hour
|
//start with today zero hour
|
||||||
dtAfter = new DateTime(DateTime.Today.Year, DateTime.Today.Month, DateTime.Today.Day, 00, 00, 00);
|
dtAfter = new DateTime(RelativeToday.Year, RelativeToday.Month, RelativeToday.Day, 00, 00, 00);
|
||||||
dtAfter = dtAfter.AddDays(-7);
|
dtAfter = dtAfter.AddDays(-7);
|
||||||
|
|
||||||
//Add 15 days to get end date (zero hour so not really 15 full days)
|
//Add 15 days to get end date (zero hour so not really 15 full days)
|
||||||
|
|||||||
Reference in New Issue
Block a user