From 6385461d1f6893ccfc602727e9dc14d781c789ce Mon Sep 17 00:00:00 2001 From: Swapnamol Abraham Date: Tue, 11 Jun 2024 09:24:21 +0100 Subject: [PATCH 1/2] TD-4151 - Converted API call in to async --- .../Controllers/ContentServerController.cs | 8 ++++---- .../Resources/IScormResourceVersionRepository.cs | 4 ++-- .../Resources/ScormResourceVersionRepository.cs | 10 ++++++---- .../IScormContentServerService.cs | 4 ++-- .../ScormContentServerService.cs | 8 ++++---- 5 files changed, 18 insertions(+), 16 deletions(-) diff --git a/WebAPI/LearningHub.Nhs.API/Controllers/ContentServerController.cs b/WebAPI/LearningHub.Nhs.API/Controllers/ContentServerController.cs index 9c662942b..9a95d80b0 100644 --- a/WebAPI/LearningHub.Nhs.API/Controllers/ContentServerController.cs +++ b/WebAPI/LearningHub.Nhs.API/Controllers/ContentServerController.cs @@ -45,11 +45,11 @@ public ContentServerController( /// The . [HttpPost] [Route("GetContentDetailsByExternalUrl")] - public IActionResult GetContentDetailsByExternalUrl([FromBody] string externalUrl) + public async Task GetContentDetailsByExternalUrl([FromBody] string externalUrl) { string decodedUrl = HttpUtility.UrlDecode(externalUrl); - var details = this.scormContentServerService.GetContentDetailsByExternalUrl(decodedUrl); + var details = await this.scormContentServerService.GetContentDetailsByExternalUrl(decodedUrl); return this.Ok(details); } @@ -61,9 +61,9 @@ public IActionResult GetContentDetailsByExternalUrl([FromBody] string externalUr /// The . [HttpGet] [Route("GetContentDetailsByExternalReference/{externalReference}")] - public IActionResult GetContentDetailsByExternalReference(string externalReference) + public async Task GetContentDetailsByExternalReference(string externalReference) { - var details = this.scormContentServerService.GetContentDetailsByExternalReference(externalReference); + var details = await this.scormContentServerService.GetContentDetailsByExternalReference(externalReference); return this.Ok(details); } diff --git a/WebAPI/LearningHub.Nhs.Repository.Interface/Resources/IScormResourceVersionRepository.cs b/WebAPI/LearningHub.Nhs.Repository.Interface/Resources/IScormResourceVersionRepository.cs index 0dfa086cf..803a80896 100644 --- a/WebAPI/LearningHub.Nhs.Repository.Interface/Resources/IScormResourceVersionRepository.cs +++ b/WebAPI/LearningHub.Nhs.Repository.Interface/Resources/IScormResourceVersionRepository.cs @@ -30,7 +30,7 @@ public interface IScormResourceVersionRepository : IGenericRepository /// The external reference (guid). /// A ContentServerViewModel. - ContentServerViewModel GetContentServerDetailsByLHExternalReference(string externalReference); + Task GetContentServerDetailsByLHExternalReference(string externalReference); /// /// Gets the SCORM content details for a particular historic external URL. These historic URLs have to be supported to @@ -38,7 +38,7 @@ public interface IScormResourceVersionRepository : IGenericRepository /// The external Url. /// A ContentServerViewModel. - ContentServerViewModel GetScormContentServerDetailsByHistoricExternalUrl(string externalUrl); + Task GetScormContentServerDetailsByHistoricExternalUrl(string externalUrl); /// /// GetExternalReferenceByResourceId. diff --git a/WebAPI/LearningHub.Nhs.Repository/Resources/ScormResourceVersionRepository.cs b/WebAPI/LearningHub.Nhs.Repository/Resources/ScormResourceVersionRepository.cs index adb80296a..19205ee94 100644 --- a/WebAPI/LearningHub.Nhs.Repository/Resources/ScormResourceVersionRepository.cs +++ b/WebAPI/LearningHub.Nhs.Repository/Resources/ScormResourceVersionRepository.cs @@ -55,12 +55,13 @@ public async Task GetByResourceVersionIdAsync(int resource /// /// The external reference (guid). /// A ContentServerViewModel. - public ContentServerViewModel GetContentServerDetailsByLHExternalReference(string externalReference) + public async Task GetContentServerDetailsByLHExternalReference(string externalReference) { var param0 = new SqlParameter("@externalReference", SqlDbType.NVarChar) { Value = externalReference }; - var scormContentServerViewModel = this.DbContext.ContentServerViewModel.FromSqlRaw("[resources].[GetContentServerDetailsForLHExternalReference] @externalReference", param0).AsEnumerable().FirstOrDefault(); + var scormContentData = await this.DbContext.ContentServerViewModel.FromSqlRaw("[resources].[GetContentServerDetailsForLHExternalReference] @externalReference", param0).ToListAsync(); + ContentServerViewModel scormContentServerViewModel = scormContentData.AsEnumerable().FirstOrDefault(); return scormContentServerViewModel; } @@ -70,11 +71,12 @@ public ContentServerViewModel GetContentServerDetailsByLHExternalReference(strin /// /// The external Url. /// A ContentServerViewModel. - public ContentServerViewModel GetScormContentServerDetailsByHistoricExternalUrl(string externalUrl) + public async Task GetScormContentServerDetailsByHistoricExternalUrl(string externalUrl) { var param0 = new SqlParameter("@externalUrl", SqlDbType.NVarChar) { Value = externalUrl }; - var scormContentServerViewModel = this.DbContext.ContentServerViewModel.FromSqlRaw("[resources].[GetScormContentServerDetailsForHistoricExternalUrl] @externalUrl", param0).ToList().FirstOrDefault(); + var scormContentData = await this.DbContext.ContentServerViewModel.ToListAsync(); + ContentServerViewModel scormContentServerViewModel = scormContentData.FirstOrDefault(); return scormContentServerViewModel; } diff --git a/WebAPI/LearningHub.Nhs.Services.Interface/IScormContentServerService.cs b/WebAPI/LearningHub.Nhs.Services.Interface/IScormContentServerService.cs index 9bc5ffe50..8bd397e45 100644 --- a/WebAPI/LearningHub.Nhs.Services.Interface/IScormContentServerService.cs +++ b/WebAPI/LearningHub.Nhs.Services.Interface/IScormContentServerService.cs @@ -14,14 +14,14 @@ public interface IScormContentServerService /// /// The externalUrl. /// The . - ContentServerViewModel GetContentDetailsByExternalUrl(string externalUrl); + Task GetContentDetailsByExternalUrl(string externalUrl); /// /// The GetContentDetailsByExternalReference. /// /// The externalReference. /// The . - ContentServerViewModel GetContentDetailsByExternalReference(string externalReference); + Task GetContentDetailsByExternalReference(string externalReference); /// /// The LogResourceReferenceEventAsync. diff --git a/WebAPI/LearningHub.Nhs.Services/ScormContentServerService.cs b/WebAPI/LearningHub.Nhs.Services/ScormContentServerService.cs index 5fef76ecf..75fa13b5c 100644 --- a/WebAPI/LearningHub.Nhs.Services/ScormContentServerService.cs +++ b/WebAPI/LearningHub.Nhs.Services/ScormContentServerService.cs @@ -63,9 +63,9 @@ public ScormContentServerService( /// /// The externalUrl. /// The . - public ContentServerViewModel GetContentDetailsByExternalUrl(string externalUrl) + public async Task GetContentDetailsByExternalUrl(string externalUrl) { - var response = this.scormResourceVersionRepository.GetScormContentServerDetailsByHistoricExternalUrl(externalUrl); + var response = await this.scormResourceVersionRepository.GetScormContentServerDetailsByHistoricExternalUrl(externalUrl); return response; } @@ -75,9 +75,9 @@ public ContentServerViewModel GetContentDetailsByExternalUrl(string externalUrl) /// /// The externalReference. /// The . - public ContentServerViewModel GetContentDetailsByExternalReference(string externalReference) + public async Task GetContentDetailsByExternalReference(string externalReference) { - var response = this.scormResourceVersionRepository.GetContentServerDetailsByLHExternalReference(externalReference); + var response = await this.scormResourceVersionRepository.GetContentServerDetailsByLHExternalReference(externalReference); return response; } From 85076ee03d5c85256baa72c59d468e1cc0e98e60 Mon Sep 17 00:00:00 2001 From: Swapnamol Abraham Date: Tue, 11 Jun 2024 09:35:38 +0100 Subject: [PATCH 2/2] Added asnotracking() --- .../Resources/ScormResourceVersionRepository.cs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/WebAPI/LearningHub.Nhs.Repository/Resources/ScormResourceVersionRepository.cs b/WebAPI/LearningHub.Nhs.Repository/Resources/ScormResourceVersionRepository.cs index 19205ee94..5272bd7f8 100644 --- a/WebAPI/LearningHub.Nhs.Repository/Resources/ScormResourceVersionRepository.cs +++ b/WebAPI/LearningHub.Nhs.Repository/Resources/ScormResourceVersionRepository.cs @@ -59,7 +59,7 @@ public async Task GetContentServerDetailsByLHExternalRef { var param0 = new SqlParameter("@externalReference", SqlDbType.NVarChar) { Value = externalReference }; - var scormContentData = await this.DbContext.ContentServerViewModel.FromSqlRaw("[resources].[GetContentServerDetailsForLHExternalReference] @externalReference", param0).ToListAsync(); + var scormContentData = await this.DbContext.ContentServerViewModel.FromSqlRaw("[resources].[GetContentServerDetailsForLHExternalReference] @externalReference", param0).AsNoTracking().ToListAsync(); ContentServerViewModel scormContentServerViewModel = scormContentData.AsEnumerable().FirstOrDefault(); return scormContentServerViewModel; @@ -75,9 +75,8 @@ public async Task GetScormContentServerDetailsByHistoric { var param0 = new SqlParameter("@externalUrl", SqlDbType.NVarChar) { Value = externalUrl }; - var scormContentData = await this.DbContext.ContentServerViewModel.ToListAsync(); + var scormContentData = await this.DbContext.ContentServerViewModel.FromSqlRaw("[resources].[GetScormContentServerDetailsForHistoricExternalUrl] @externalUrl", param0).AsNoTracking().ToListAsync(); ContentServerViewModel scormContentServerViewModel = scormContentData.FirstOrDefault(); - return scormContentServerViewModel; }