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.API/Controllers/ResourceController.cs b/WebAPI/LearningHub.Nhs.API/Controllers/ResourceController.cs
index 18044a758..b556e211d 100644
--- a/WebAPI/LearningHub.Nhs.API/Controllers/ResourceController.cs
+++ b/WebAPI/LearningHub.Nhs.API/Controllers/ResourceController.cs
@@ -496,9 +496,9 @@ public async Task GetScormDetailsAsync(int resourceVersionId)
/// The resourceVersionId.
/// The .
[HttpGet("GetExternalContentDetailsById/{resourceVersionId}")]
- public ActionResult GetScormContentDetailsById(int resourceVersionId)
+ public async Task GetScormContentDetailsById(int resourceVersionId)
{
- return this.Ok(this.resourceService.GetExternalContentDetails(resourceVersionId, this.CurrentUserId));
+ return this.Ok(await this.resourceService.GetExternalContentDetails(resourceVersionId, this.CurrentUserId));
}
///
diff --git a/WebAPI/LearningHub.Nhs.Repository.Interface/Resources/IResourceVersionRepository.cs b/WebAPI/LearningHub.Nhs.Repository.Interface/Resources/IResourceVersionRepository.cs
index 364cd851b..00cbff4d7 100644
--- a/WebAPI/LearningHub.Nhs.Repository.Interface/Resources/IResourceVersionRepository.cs
+++ b/WebAPI/LearningHub.Nhs.Repository.Interface/Resources/IResourceVersionRepository.cs
@@ -262,6 +262,6 @@ public interface IResourceVersionRepository : IGenericRepositoryresourceVersionId.
/// userId.
/// A representing the result of the asynchronous operation.
- ExternalContentDetailsViewModel GetExternalContentDetails(int resourceVersionId, int userId);
+ Task GetExternalContentDetails(int resourceVersionId, int userId);
}
}
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/ResourceVersionRepository.cs b/WebAPI/LearningHub.Nhs.Repository/Resources/ResourceVersionRepository.cs
index cd9860a9f..10bf4cddf 100644
--- a/WebAPI/LearningHub.Nhs.Repository/Resources/ResourceVersionRepository.cs
+++ b/WebAPI/LearningHub.Nhs.Repository/Resources/ResourceVersionRepository.cs
@@ -679,15 +679,15 @@ await this.DbContext.Database.ExecuteSqlRawAsync(
/// resourceVersionId.
/// userId.
/// A representing the result of the asynchronous operation.
- public ExternalContentDetailsViewModel GetExternalContentDetails(int resourceVersionId, int userId)
+ public async Task GetExternalContentDetails(int resourceVersionId, int userId)
{
try
{
var param0 = new SqlParameter("@resourceVersionId", SqlDbType.Int) { Value = resourceVersionId };
var param1 = new SqlParameter("@userId", SqlDbType.Int) { Value = userId };
- var externalContentDetailsViewModel = this.DbContext.ExternalContentDetailsViewModel.FromSqlRaw("[resources].[GetExternalContentDetails] @resourceVersionId, @userId", param0, param1).AsEnumerable().FirstOrDefault();
-
+ var retVal = await this.DbContext.ExternalContentDetailsViewModel.FromSqlRaw("[resources].[GetExternalContentDetails] @resourceVersionId, @userId", param0, param1).AsNoTracking().ToListAsync();
+ ExternalContentDetailsViewModel externalContentDetailsViewModel = retVal.AsEnumerable().FirstOrDefault();
return externalContentDetailsViewModel;
}
catch (Exception ex)
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/IResourceService.cs b/WebAPI/LearningHub.Nhs.Services.Interface/IResourceService.cs
index 0ce7f5c00..c149110b9 100644
--- a/WebAPI/LearningHub.Nhs.Services.Interface/IResourceService.cs
+++ b/WebAPI/LearningHub.Nhs.Services.Interface/IResourceService.cs
@@ -104,7 +104,7 @@ public interface IResourceService
/// The resourceVersionId.
/// userId.
/// The .
- ExternalContentDetailsViewModel GetExternalContentDetails(int resourceVersionId, int userId);
+ Task GetExternalContentDetails(int resourceVersionId, int userId);
///
/// The get image details by id async.
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/ResourceService.cs b/WebAPI/LearningHub.Nhs.Services/ResourceService.cs
index a97546303..6d6220122 100644
--- a/WebAPI/LearningHub.Nhs.Services/ResourceService.cs
+++ b/WebAPI/LearningHub.Nhs.Services/ResourceService.cs
@@ -2793,7 +2793,7 @@ public async Task GetGenericFileDetailsByIdAsync(int resou
var vm = this.mapper.Map(genericFile);
// User id is used to populate a field we aren't going to use, so we can just pass in the system user id.
- var externalContentDetails = this.resourceVersionRepository.GetExternalContentDetails(resourceVersionId, 4);
+ var externalContentDetails = await this.resourceVersionRepository.GetExternalContentDetails(resourceVersionId, 4);
if (!string.IsNullOrEmpty(externalContentDetails?.ExternalReference))
{
vm.HostedContentUrl = $"{this.settings.LearningHubContentServerUrl}/{externalContentDetails.ExternalReference}/".ToLower();
@@ -2814,7 +2814,7 @@ public async Task GetHtmlDetailsByIdAsync(int resourceVer
var vm = this.mapper.Map(htmlFile);
// User id is used to populate a field we aren't going to use, so we can just pass in the system user id.
- var externalContentDetails = this.resourceVersionRepository.GetExternalContentDetails(resourceVersionId, 4);
+ var externalContentDetails = await this.resourceVersionRepository.GetExternalContentDetails(resourceVersionId, 4);
if (!string.IsNullOrEmpty(externalContentDetails?.ExternalReference))
{
vm.HostedContentUrl = $"{this.settings.LearningHubContentServerUrl}/{externalContentDetails.ExternalReference}/".ToLower();
@@ -2835,7 +2835,7 @@ public async Task GetScormDetailsByIdAsync(int resourceVersionId
var vm = this.mapper.Map(scorm);
// User id is used to populate a field we aren't going to use, so we can just pass in the system user id.
- var externalContentDetails = this.resourceVersionRepository.GetExternalContentDetails(resourceVersionId, 4);
+ var externalContentDetails = await this.resourceVersionRepository.GetExternalContentDetails(resourceVersionId, 4);
if (!string.IsNullOrEmpty(externalContentDetails?.ExternalReference))
{
vm.HostedContentUrl = $"{this.settings.LearningHubContentServerUrl}/{externalContentDetails.ExternalReference}/".ToLower();
@@ -2851,9 +2851,9 @@ public async Task GetScormDetailsByIdAsync(int resourceVersionId
/// The resourceVersionId.
/// userId.
/// The .
- public ExternalContentDetailsViewModel GetExternalContentDetails(int resourceVersionId, int userId)
+ public async Task GetExternalContentDetails(int resourceVersionId, int userId)
{
- var viewModel = this.resourceVersionRepository.GetExternalContentDetails(resourceVersionId, userId);
+ var viewModel = await this.resourceVersionRepository.GetExternalContentDetails(resourceVersionId, userId);
if (viewModel != null)
{
viewModel.HostedContentUrl = $"{this.settings.LearningHubContentServerUrl}/{viewModel.ExternalReference}/".ToLower();
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;
}