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..5272bd7f8 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).AsNoTracking().ToListAsync(); + ContentServerViewModel scormContentServerViewModel = scormContentData.AsEnumerable().FirstOrDefault(); return scormContentServerViewModel; } @@ -70,12 +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.FromSqlRaw("[resources].[GetScormContentServerDetailsForHistoricExternalUrl] @externalUrl", param0).AsNoTracking().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; }