From 41569721f19323820b4ef781aa353b7faa776fb0 Mon Sep 17 00:00:00 2001 From: Auldrin Possa Date: Thu, 5 Sep 2024 15:36:59 +0100 Subject: [PATCH] TD-4671-Course enrolled, lastupdated and completed date converted to local date time. User time zone initialized on centre change event. --- .../Controllers/LoginController.cs | 1 + .../Delegates/ActivityDelegatesController.cs | 9 ++++++++- .../Shared/_DelegateCourseProgressDetails.cshtml | 11 +++++++++-- 3 files changed, 18 insertions(+), 3 deletions(-) diff --git a/DigitalLearningSolutions.Web/Controllers/LoginController.cs b/DigitalLearningSolutions.Web/Controllers/LoginController.cs index 0a0f859c63..20280e18a8 100644 --- a/DigitalLearningSolutions.Web/Controllers/LoginController.cs +++ b/DigitalLearningSolutions.Web/Controllers/LoginController.cs @@ -179,6 +179,7 @@ public async Task ChooseCentre(int centreId, string? returnUrl) { var userEntity = userService.GetUserById(User.GetUserIdKnownNotNull()); var centreAccountSet = userEntity?.GetCentreAccountSet(centreId); + DateHelper.userTimeZone ??= User.GetUserTimeZone(CustomClaimTypes.UserTimeZone); if (centreAccountSet?.IsCentreActive != true) { diff --git a/DigitalLearningSolutions.Web/Controllers/TrackingSystem/Delegates/ActivityDelegatesController.cs b/DigitalLearningSolutions.Web/Controllers/TrackingSystem/Delegates/ActivityDelegatesController.cs index bb4b97b831..c41c916414 100644 --- a/DigitalLearningSolutions.Web/Controllers/TrackingSystem/Delegates/ActivityDelegatesController.cs +++ b/DigitalLearningSolutions.Web/Controllers/TrackingSystem/Delegates/ActivityDelegatesController.cs @@ -22,6 +22,7 @@ using System; using System.Collections.Generic; using System.Linq; + using DateHelper = DigitalLearningSolutions.Web.Helpers.DateHelper; [FeatureGate(FeatureFlags.RefactoredTrackingSystem)] [Authorize(Policy = CustomPolicies.UserCentreAdmin)] @@ -221,11 +222,17 @@ public IActionResult Index( (courseDelegatesData, resultCount) = courseDelegatesService.GetCoursesAndCourseDelegatesPerPageForCentre(searchString ?? string.Empty, offSet, itemsPerPage ?? 0, sortBy, sortDirection, customisationId, centreId, adminCategoryId, isDelegateActive, isProgressLocked, removed, hasCompleted, answer1, answer2, answer3); } + foreach (var courseDelegate in courseDelegatesData.Delegates) + { + courseDelegate.Enrolled = (DateTime)DateHelper.GetLocalDateTime(courseDelegate.Enrolled); + courseDelegate.LastUpdated = DateHelper.GetLocalDateTime(courseDelegate.LastUpdated); + courseDelegate.Completed = courseDelegate.Completed?.TimeOfDay == TimeSpan.Zero ? courseDelegate.Completed : DateHelper.GetLocalDateTime(courseDelegate.Completed); + } } else { (selfAssessmentDelegatesData, resultCount) = selfAssessmentService.GetSelfAssessmentDelegatesPerPage(searchString ?? string.Empty, offSet, itemsPerPage ?? 0, sortBy, sortDirection, - selfAssessmentId, centreId, isDelegateActive, removed, submitted, signedOff); + selfAssessmentId, centreId, isDelegateActive, removed, submitted, signedOff); if (selfAssessmentDelegatesData?.Delegates?.Count() == 0 && resultCount > 0) { diff --git a/DigitalLearningSolutions.Web/Views/TrackingSystem/Delegates/Shared/_DelegateCourseProgressDetails.cshtml b/DigitalLearningSolutions.Web/Views/TrackingSystem/Delegates/Shared/_DelegateCourseProgressDetails.cshtml index 0f2b291402..3c7182f8fb 100644 --- a/DigitalLearningSolutions.Web/Views/TrackingSystem/Delegates/Shared/_DelegateCourseProgressDetails.cshtml +++ b/DigitalLearningSolutions.Web/Views/TrackingSystem/Delegates/Shared/_DelegateCourseProgressDetails.cshtml @@ -1,7 +1,14 @@ @using DigitalLearningSolutions.Data.Helpers +@using DateHelper = DigitalLearningSolutions.Web.Helpers.DateHelper @using DigitalLearningSolutions.Web.Models.Enums @using DigitalLearningSolutions.Web.ViewModels.TrackingSystem.Delegates.Shared @model DelegateCourseInfoViewModel +@{ + var courseCompleted = Model.Completed != null ? + Convert.ToDateTime(Model.Completed).TimeOfDay == TimeSpan.Zero ? Convert.ToDateTime(Model.Completed).ToString(DateHelper.StandardDateFormat) : + Convert.ToDateTime(Model.Completed).ToString(DateHelper.StandardDateAndTimeFormat) + : "-"; +}
@if (Model.AccessedVia.Equals(DelegateAccessRoute.ActivityDelegates)) @@ -55,7 +62,7 @@ Complete by
- @(Model.CompleteBy ?? "-") + @(Model.CompleteBy != null ? Convert.ToDateTime(Model.CompleteBy).ToString(DateHelper.StandardDateFormat) : "-")
- @(Model.Completed ?? "-") + @(courseCompleted)