From 9b6666e70829e3c341e709b1b0578603566d852b Mon Sep 17 00:00:00 2001 From: ivarlovlie Date: Sun, 12 Jun 2022 14:24:10 +0200 Subject: refactor: Introduce AppDateTime and use it whenever we need to get current DateTime This changes enables us to change timezones in testing --- server/src/Endpoints/V1/Entries/EntryQueryRoute.cs | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) (limited to 'server/src/Endpoints/V1') diff --git a/server/src/Endpoints/V1/Entries/EntryQueryRoute.cs b/server/src/Endpoints/V1/Entries/EntryQueryRoute.cs index c037b72..d431ac5 100644 --- a/server/src/Endpoints/V1/Entries/EntryQueryRoute.cs +++ b/server/src/Endpoints/V1/Entries/EntryQueryRoute.cs @@ -31,12 +31,12 @@ public class EntryQueryRoute : RouteBaseSync.WithRequest.With // this is fine as long as the client is not connecting from Australia: Lord Howe Island // according to https://en.wikipedia.org/wiki/Daylight_saving_time_by_country - if (tz.IsDaylightSavingTime(DateTime.UtcNow)) { + if (tz.IsDaylightSavingTime(AppDateTime.UtcNow)) { offsetInHours++; } _logger.LogInformation("Request time zone (" + tz.Id + ") offset is: " + offsetInHours + " hours"); - var requestDateTime = TimeZoneInfo.ConvertTimeFromUtc(DateTime.UtcNow, tz); + var requestDateTime = TimeZoneInfo.ConvertTimeFromUtc(AppDateTime.UtcNow, tz); _logger.LogInformation("Querying data with date time: " + requestDateTime.ToString("u")); var skipCount = 0; @@ -59,7 +59,7 @@ public class EntryQueryRoute : RouteBaseSync.WithRequest.With switch (entryQuery.Duration) { case TimeEntryQueryDuration.TODAY: var baseTodaysEntries = baseQuery - .Where(c => DateTime.Compare(c.Start.AddHours(offsetInHours).Date, DateTime.UtcNow.Date) == 0); + .Where(c => DateTime.Compare(c.Start.AddHours(offsetInHours).Date, AppDateTime.UtcNow.Date) == 0); var baseTodaysEntriesCount = baseTodaysEntries.Count(); if (baseTodaysEntriesCount == 0) { @@ -74,10 +74,10 @@ public class EntryQueryRoute : RouteBaseSync.WithRequest.With result.Results.AddRange(pagedTodaysEntries.Select(c => c.AsDto)); break; case TimeEntryQueryDuration.THIS_WEEK: - var lastMonday = DateTime.UtcNow.StartOfWeek(DayOfWeek.Monday); + var lastMonday = AppDateTime.UtcNow.StartOfWeek(DayOfWeek.Monday); var baseEntriesThisWeek = baseQuery - .Where(c => c.Start.AddHours(offsetInHours).Date >= lastMonday.Date && c.Start.AddHours(offsetInHours).Date <= DateTime.UtcNow.Date); + .Where(c => c.Start.AddHours(offsetInHours).Date >= lastMonday.Date && c.Start.AddHours(offsetInHours).Date <= AppDateTime.UtcNow.Date); var baseEntriesThisWeekCount = baseEntriesThisWeek.Count(); @@ -94,8 +94,8 @@ public class EntryQueryRoute : RouteBaseSync.WithRequest.With break; case TimeEntryQueryDuration.THIS_MONTH: var baseEntriesThisMonth = baseQuery - .Where(c => c.Start.AddHours(offsetInHours).Month == DateTime.UtcNow.Month - && c.Start.AddHours(offsetInHours).Year == DateTime.UtcNow.Year); + .Where(c => c.Start.AddHours(offsetInHours).Month == AppDateTime.UtcNow.Month + && c.Start.AddHours(offsetInHours).Year == AppDateTime.UtcNow.Year); var baseEntriesThisMonthCount = baseEntriesThisMonth.Count(); if (baseEntriesThisMonthCount == 0) { return NoContent(); @@ -110,7 +110,7 @@ public class EntryQueryRoute : RouteBaseSync.WithRequest.With break; case TimeEntryQueryDuration.THIS_YEAR: var baseEntriesThisYear = baseQuery - .Where(c => c.Start.AddHours(offsetInHours).Year == DateTime.UtcNow.Year); + .Where(c => c.Start.AddHours(offsetInHours).Year == AppDateTime.UtcNow.Year); var baseEntriesThisYearCount = baseEntriesThisYear.Count(); if (baseEntriesThisYearCount == 0) { -- cgit v1.3