From 2468b06217ade808366e0410a5f110de78e2a921 Mon Sep 17 00:00:00 2001 From: Swapnamol Abraham Date: Fri, 3 May 2024 12:43:04 +0100 Subject: [PATCH] TD-4115 - Number of accessed showing incorrect in the certificate details --- WebAPI/LearningHub.Nhs.Services/MyLearningService.cs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/WebAPI/LearningHub.Nhs.Services/MyLearningService.cs b/WebAPI/LearningHub.Nhs.Services/MyLearningService.cs index 9abbf2316..13e28cb9d 100644 --- a/WebAPI/LearningHub.Nhs.Services/MyLearningService.cs +++ b/WebAPI/LearningHub.Nhs.Services/MyLearningService.cs @@ -169,8 +169,13 @@ public async Task> GetResourceCertif activityEntities.RemoveAll(x => x.Resource.ResourceTypeEnum == ResourceTypeEnum.Scorm && (x.ActivityStatusId == (int)ActivityStatusEnum.Downloaded || x.ActivityStatusId == (int)ActivityStatusEnum.Incomplete || x.ActivityStatusId == (int)ActivityStatusEnum.InProgress)); if (activityEntities.Any() && activityEntities.FirstOrDefault()?.Resource.ResourceTypeEnum == ResourceTypeEnum.Assessment) { + totalNumberOfAccess = activityQuery.SelectMany(x => x.AssessmentResourceActivity).OrderByDescending(a => a.CreateDate).ToList().Count(); activityEntities = activityEntities.Where(x => x.AssessmentResourceActivity.FirstOrDefault() != null && x.AssessmentResourceActivity.FirstOrDefault().Score.HasValue && ((int)Math.Round(x.AssessmentResourceActivity.FirstOrDefault().Score.Value, MidpointRounding.AwayFromZero) >= x.ResourceVersion.AssessmentResourceVersion.PassMark)).ToList(); } + else if (activityEntities.Any() && (activityEntities.FirstOrDefault()?.Resource.ResourceTypeEnum == ResourceTypeEnum.Video || activityEntities.FirstOrDefault()?.Resource.ResourceTypeEnum == ResourceTypeEnum.Audio)) + { + totalNumberOfAccess = activityQuery.SelectMany(x => x.MediaResourceActivity).OrderByDescending(a => a.CreateDate).ToList().Count(); + } if (activityEntities.Any()) { @@ -272,7 +277,7 @@ public async Task> PopulateMyLearningDetai if (latestActivityCheck.Any() && expectedActivity != null && resourceActivity.ResourceVersion.CertificateEnabled == true) { - viewModel.CertificateEnabled = true; + viewModel.CertificateEnabled = true; } else { @@ -490,7 +495,7 @@ private IQueryable ApplyFilters(IQueryable q if (requestModel.CertificateEnabled) { - query = query.Where(x => x.ResourceVersion.CertificateEnabled.Equals(true)); + query = query.Where(x => x.ResourceVersion.CertificateEnabled.Equals(true)); } return query;