This commit is contained in:
@@ -293,8 +293,13 @@ namespace AyaNova.Biz
|
||||
//Fetch useroptions object and relative time offset
|
||||
AyaNova.Models.AyContext ct = AyaNova.Util.ServiceProviderProvider.DBContext;
|
||||
var u = ct.User.AsNoTracking().Where(a => a.Id == userId).Select(m => new { tz = m.UserOptions.TimeZoneOffset }).First();
|
||||
RelativeToday = RelativeToday.AddHours(((double)u.tz)*-1);//flip the sign to adjust towards UTC
|
||||
RelativeNow = RelativeNow.AddHours(((double)u.tz)*-1);//flip the sign to adjust towards UTC
|
||||
|
||||
//Add this value to any time's hours to convert to user local time
|
||||
Double TimeZoneAdjustment=((double)u.tz)*-1;
|
||||
|
||||
//Stock times used for many of the tokens:
|
||||
RelativeToday = RelativeToday.AddHours(TimeZoneAdjustment);//flip the sign to adjust towards UTC
|
||||
RelativeNow = RelativeNow.AddHours(TimeZoneAdjustment);//flip the sign to adjust towards UTC
|
||||
|
||||
// //TESTING:
|
||||
// //LOG THE CRIT AND QUERY
|
||||
@@ -479,25 +484,25 @@ namespace AyaNova.Biz
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case FilterSpecialToken.LastYear://NOTRIGHT
|
||||
case FilterSpecialToken.LastYear:
|
||||
//From zero hour january 1 a year ago
|
||||
dtAfter = new DateTime(RelativeNow.AddYears(-1).Year, 1, 1, RelativeToday.Hour, RelativeToday.Minute, 00);
|
||||
dtAfter = new DateTime(RelativeNow.AddYears(-1).Year, 1, 1, 0, 0, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);
|
||||
//To zero hour January 1 this year
|
||||
dtBefore = new DateTime(RelativeNow.Year, 1, 1, RelativeToday.Hour, RelativeToday.Minute, 00);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 1, 1, 0, 0, 00).AddHours(TimeZoneAdjustment);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
break;
|
||||
|
||||
case FilterSpecialToken.ThisYear:
|
||||
//From zero hour january 1 this year
|
||||
dtAfter = new DateTime(RelativeNow.Year, 1, 1, 00, 00, 00);
|
||||
dtAfter = new DateTime(RelativeNow.Year, 1, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);
|
||||
//To zero hour Jan 1 next year
|
||||
dtBefore = new DateTime(RelativeNow.AddYears(1).Year, 1, 1, 00, 00, 00);
|
||||
dtBefore = new DateTime(RelativeNow.AddYears(1).Year, 1, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
case FilterSpecialToken.InTheLast3Months:
|
||||
//From Now minus 3 months
|
||||
dtAfter = RelativeNow.AddMonths(-3);
|
||||
dtAfter = RelativeNow.AddMonths(-3);//relative now is already adjusted for time zone so no need to adjust it again
|
||||
//To Now
|
||||
dtBefore = RelativeNow;
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
@@ -532,9 +537,9 @@ namespace AyaNova.Biz
|
||||
case 3:
|
||||
//Then we need the dates of the last quarter of last year
|
||||
//From zero hour October 1st last year
|
||||
dtAfter = new DateTime(RelativeNow.AddYears(-1).Year, 10, 1, 00, 00, 00);
|
||||
dtAfter = new DateTime(RelativeNow.AddYears(-1).Year, 10, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);;
|
||||
//To zero hour January 1 this year
|
||||
dtBefore = new DateTime(RelativeNow.Year, 1, 1, 00, 00, 00);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 1, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
break;
|
||||
//are we in the second quarter?
|
||||
case 4:
|
||||
@@ -542,9 +547,9 @@ namespace AyaNova.Biz
|
||||
case 6:
|
||||
//Then we need this year first quarter JAN-FEB-MAR
|
||||
//From zero hour january 1 this year
|
||||
dtAfter = new DateTime(RelativeNow.Year, 1, 1, 00, 00, 00);
|
||||
dtAfter = new DateTime(RelativeNow.Year, 1, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);;
|
||||
//To zero hour April 1 this year
|
||||
dtBefore = new DateTime(RelativeNow.Year, 4, 1, 00, 00, 00);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 4, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
break;
|
||||
//Are we in the third quarter?
|
||||
case 7:
|
||||
@@ -552,17 +557,17 @@ namespace AyaNova.Biz
|
||||
case 9:
|
||||
//Then we need this year Second quarter APR-MAY-JUN
|
||||
//From zero hour April 1 this year
|
||||
dtAfter = new DateTime(RelativeNow.Year, 4, 1, 00, 00, 00);
|
||||
dtAfter = new DateTime(RelativeNow.Year, 4, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);;
|
||||
//To zero hour July 1 this year
|
||||
dtBefore = new DateTime(RelativeNow.Year, 7, 1, 00, 00, 00);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 7, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
break;
|
||||
default:
|
||||
//We're in the fourth quarter
|
||||
//Then we need this year Third quarter JUL-AUG-SEP
|
||||
//From zero hour July 1 this year
|
||||
dtAfter = new DateTime(RelativeNow.Year, 7, 1, 00, 00, 00);
|
||||
dtAfter = new DateTime(RelativeNow.Year, 7, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);;
|
||||
//To zero hour Oct 1 this year
|
||||
dtBefore = new DateTime(RelativeNow.Year, 10, 1, 00, 00, 00);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 10, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
break;
|
||||
|
||||
}
|
||||
@@ -570,7 +575,7 @@ namespace AyaNova.Biz
|
||||
break;
|
||||
case FilterSpecialToken.YearToDate:
|
||||
//From zero hour january 1 this year
|
||||
dtAfter = new DateTime(RelativeNow.Year, 1, 1, 00, 00, 00);
|
||||
dtAfter = new DateTime(RelativeNow.Year, 1, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);;
|
||||
//To now
|
||||
dtBefore = RelativeNow;
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
@@ -583,7 +588,7 @@ namespace AyaNova.Biz
|
||||
case 2:
|
||||
case 3:
|
||||
//Jan 1st to now
|
||||
dtAfter = new DateTime(RelativeNow.Year, 1, 1, 00, 00, 00);
|
||||
dtAfter = new DateTime(RelativeNow.Year, 1, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);;
|
||||
dtBefore = RelativeNow;
|
||||
break;
|
||||
//Second Quarter to date
|
||||
@@ -591,7 +596,7 @@ namespace AyaNova.Biz
|
||||
case 5:
|
||||
case 6:
|
||||
//April 1st to now
|
||||
dtAfter = new DateTime(RelativeNow.Year, 4, 1, 00, 00, 00);
|
||||
dtAfter = new DateTime(RelativeNow.Year, 4, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);;
|
||||
dtBefore = RelativeNow;
|
||||
break;
|
||||
//Third quarter to date
|
||||
@@ -599,13 +604,13 @@ namespace AyaNova.Biz
|
||||
case 8:
|
||||
case 9:
|
||||
//From July 1
|
||||
dtAfter = new DateTime(RelativeNow.Year, 7, 1, 00, 00, 00);
|
||||
dtAfter = new DateTime(RelativeNow.Year, 7, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);;
|
||||
dtBefore = RelativeNow;
|
||||
break;
|
||||
default:
|
||||
//Fourth quarter to date
|
||||
//From Oct 1 this year
|
||||
dtAfter = new DateTime(RelativeNow.Year, 10, 1, 00, 00, 00);
|
||||
dtAfter = new DateTime(RelativeNow.Year, 10, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);;
|
||||
dtBefore = RelativeNow;
|
||||
break;
|
||||
}
|
||||
@@ -633,43 +638,43 @@ namespace AyaNova.Biz
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
case FilterSpecialToken.Q1ThisYear:
|
||||
dtAfter = new DateTime(RelativeNow.Year, 1, 1, 00, 00, 00);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 4, 1, 00, 00, 00);
|
||||
dtAfter = new DateTime(RelativeNow.Year, 1, 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 FilterSpecialToken.Q2ThisYear:
|
||||
dtAfter = new DateTime(RelativeNow.Year, 4, 1, 00, 00, 00);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 7, 1, 00, 00, 00);
|
||||
dtAfter = new DateTime(RelativeNow.Year, 4, 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 FilterSpecialToken.Q3ThisYear:
|
||||
dtAfter = new DateTime(RelativeNow.Year, 7, 1, 00, 00, 00);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 10, 1, 00, 00, 00);
|
||||
dtAfter = new DateTime(RelativeNow.Year, 7, 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 FilterSpecialToken.Q4ThisYear:
|
||||
dtAfter = new DateTime(RelativeNow.Year, 10, 1, 00, 00, 00);
|
||||
dtBefore = new DateTime(RelativeNow.AddYears(1).Year, 1, 1, 00, 00, 00);
|
||||
dtAfter = new DateTime(RelativeNow.Year, 10, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);;
|
||||
dtBefore = new DateTime(RelativeNow.AddYears(1).Year, 1, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
case FilterSpecialToken.Q1LastYear:
|
||||
dtAfter = new DateTime(RelativeNow.AddYears(-1).Year, 1, 1, 00, 00, 00);
|
||||
dtBefore = new DateTime(RelativeNow.AddYears(-1).Year, 4, 1, 00, 00, 00);
|
||||
dtAfter = new DateTime(RelativeNow.AddYears(-1).Year, 1, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);;
|
||||
dtBefore = new DateTime(RelativeNow.AddYears(-1).Year, 4, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
case FilterSpecialToken.Q2LastYear:
|
||||
dtAfter = new DateTime(RelativeNow.AddYears(-1).Year, 4, 1, 00, 00, 00);
|
||||
dtBefore = new DateTime(RelativeNow.AddYears(-1).Year, 7, 1, 00, 00, 00);
|
||||
dtAfter = new DateTime(RelativeNow.AddYears(-1).Year, 4, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);;
|
||||
dtBefore = new DateTime(RelativeNow.AddYears(-1).Year, 7, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
case FilterSpecialToken.Q3LastYear:
|
||||
dtAfter = new DateTime(RelativeNow.AddYears(-1).Year, 7, 1, 00, 00, 00);
|
||||
dtBefore = new DateTime(RelativeNow.AddYears(-1).Year, 10, 1, 00, 00, 00);
|
||||
dtAfter = new DateTime(RelativeNow.AddYears(-1).Year, 7, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);;
|
||||
dtBefore = new DateTime(RelativeNow.AddYears(-1).Year, 10, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
case FilterSpecialToken.Q4LastYear:
|
||||
dtAfter = new DateTime(RelativeNow.AddYears(-1).Year, 10, 1, 00, 00, 00);
|
||||
dtBefore = new DateTime(RelativeNow.Year, 1, 1, 00, 00, 00);
|
||||
dtAfter = new DateTime(RelativeNow.AddYears(-1).Year, 10, 1, 00, 00, 00).AddSeconds(-1).AddHours(TimeZoneAdjustment);;
|
||||
dtBefore = new DateTime(RelativeNow.Year, 1, 1, 00, 00, 00).AddHours(TimeZoneAdjustment);
|
||||
BuildBetweenTwoDatesFragment(sColumn, sb, dtAfter, dtBefore);
|
||||
break;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user