Skip to content
Merged
Original file line number Diff line number Diff line change
Expand Up @@ -45,11 +45,11 @@ public ContentServerController(
/// <returns>The <see cref="IActionResult"/>.</returns>
[HttpPost]
[Route("GetContentDetailsByExternalUrl")]
public IActionResult GetContentDetailsByExternalUrl([FromBody] string externalUrl)
public async Task<IActionResult> 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);
}
Expand All @@ -61,9 +61,9 @@ public IActionResult GetContentDetailsByExternalUrl([FromBody] string externalUr
/// <returns>The <see cref="IActionResult"/>.</returns>
[HttpGet]
[Route("GetContentDetailsByExternalReference/{externalReference}")]
public IActionResult GetContentDetailsByExternalReference(string externalReference)
public async Task<IActionResult> GetContentDetailsByExternalReference(string externalReference)
{
var details = this.scormContentServerService.GetContentDetailsByExternalReference(externalReference);
var details = await this.scormContentServerService.GetContentDetailsByExternalReference(externalReference);

return this.Ok(details);
}
Expand Down
4 changes: 2 additions & 2 deletions WebAPI/LearningHub.Nhs.API/Controllers/ResourceController.cs
Original file line number Diff line number Diff line change
Expand Up @@ -496,9 +496,9 @@ public async Task<ActionResult> GetScormDetailsAsync(int resourceVersionId)
/// <param name="resourceVersionId">The resourceVersionId<see cref="int"/>.</param>
/// <returns>The <see cref="Task{ActionResult}"/>.</returns>
[HttpGet("GetExternalContentDetailsById/{resourceVersionId}")]
public ActionResult GetScormContentDetailsById(int resourceVersionId)
public async Task<ActionResult> GetScormContentDetailsById(int resourceVersionId)
{
return this.Ok(this.resourceService.GetExternalContentDetails(resourceVersionId, this.CurrentUserId));
return this.Ok(await this.resourceService.GetExternalContentDetails(resourceVersionId, this.CurrentUserId));
}

/// <summary>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -262,6 +262,6 @@ public interface IResourceVersionRepository : IGenericRepository<ResourceVersion
/// <param name="resourceVersionId">resourceVersionId.</param>
/// <param name="userId">userId.</param>
/// <returns>A <see cref="Task{TResult}"/> representing the result of the asynchronous operation.</returns>
ExternalContentDetailsViewModel GetExternalContentDetails(int resourceVersionId, int userId);
Task<ExternalContentDetailsViewModel> GetExternalContentDetails(int resourceVersionId, int userId);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -30,15 +30,15 @@ public interface IScormResourceVersionRepository : IGenericRepository<ScormResou
/// </summary>
/// <param name="externalReference">The external reference (guid).</param>
/// <returns>A ContentServerViewModel.</returns>
ContentServerViewModel GetContentServerDetailsByLHExternalReference(string externalReference);
Task<ContentServerViewModel> GetContentServerDetailsByLHExternalReference(string externalReference);

/// <summary>
/// Gets the SCORM content details for a particular historic external URL. These historic URLs have to be supported to
/// allow historic ESR links on migrated resources to continue to work.
/// </summary>
/// <param name="externalUrl">The external Url.</param>
/// <returns>A ContentServerViewModel.</returns>
ContentServerViewModel GetScormContentServerDetailsByHistoricExternalUrl(string externalUrl);
Task<ContentServerViewModel> GetScormContentServerDetailsByHistoricExternalUrl(string externalUrl);

/// <summary>
/// GetExternalReferenceByResourceId.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -679,15 +679,15 @@ await this.DbContext.Database.ExecuteSqlRawAsync(
/// <param name="resourceVersionId">resourceVersionId.</param>
/// <param name="userId">userId.</param>
/// <returns>A <see cref="Task{TResult}"/> representing the result of the asynchronous operation.</returns>
public ExternalContentDetailsViewModel GetExternalContentDetails(int resourceVersionId, int userId)
public async Task<ExternalContentDetailsViewModel> 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)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,13 @@ public async Task<ScormResourceVersion> GetByResourceVersionIdAsync(int resource
/// </summary>
/// <param name="externalReference">The external reference (guid).</param>
/// <returns>A ContentServerViewModel.</returns>
public ContentServerViewModel GetContentServerDetailsByLHExternalReference(string externalReference)
public async Task<ContentServerViewModel> 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;
}

Expand All @@ -70,12 +71,12 @@ public ContentServerViewModel GetContentServerDetailsByLHExternalReference(strin
/// </summary>
/// <param name="externalUrl">The external Url.</param>
/// <returns>A ContentServerViewModel.</returns>
public ContentServerViewModel GetScormContentServerDetailsByHistoricExternalUrl(string externalUrl)
public async Task<ContentServerViewModel> GetScormContentServerDetailsByHistoricExternalUrl(string externalUrl)
{
var param0 = new SqlParameter("@externalUrl", SqlDbType.NVarChar) { Value = externalUrl };

var scormContentServerViewModel = this.DbContext.ContentServerViewModel.FromSqlRaw("[resources].[GetScormContentServerDetailsForHistoricExternalUrl] @externalUrl", param0).ToList().FirstOrDefault<ContentServerViewModel>();

var scormContentData = await this.DbContext.ContentServerViewModel.FromSqlRaw("[resources].[GetScormContentServerDetailsForHistoricExternalUrl] @externalUrl", param0).AsNoTracking().ToListAsync();
ContentServerViewModel scormContentServerViewModel = scormContentData.FirstOrDefault<ContentServerViewModel>();
return scormContentServerViewModel;
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -104,7 +104,7 @@ public interface IResourceService
/// <param name="resourceVersionId">The resourceVersionId<see cref="int"/>.</param>
/// <param name="userId">userId.</param>
/// <returns>The <see cref="Task{ScormContentDetailsViewModel}"/>.</returns>
ExternalContentDetailsViewModel GetExternalContentDetails(int resourceVersionId, int userId);
Task<ExternalContentDetailsViewModel> GetExternalContentDetails(int resourceVersionId, int userId);

/// <summary>
/// The get image details by id async.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,14 +14,14 @@ public interface IScormContentServerService
/// </summary>
/// <param name="externalUrl">The externalUrl<see cref="string"/>.</param>
/// <returns>The <see cref="ContentServerViewModel"/>.</returns>
ContentServerViewModel GetContentDetailsByExternalUrl(string externalUrl);
Task<ContentServerViewModel> GetContentDetailsByExternalUrl(string externalUrl);

/// <summary>
/// The GetContentDetailsByExternalReference.
/// </summary>
/// <param name="externalReference">The externalReference<see cref="Guid"/>.</param>
/// <returns>The <see cref="ContentServerViewModel"/>.</returns>
ContentServerViewModel GetContentDetailsByExternalReference(string externalReference);
Task<ContentServerViewModel> GetContentDetailsByExternalReference(string externalReference);

/// <summary>
/// The LogResourceReferenceEventAsync.
Expand Down
10 changes: 5 additions & 5 deletions WebAPI/LearningHub.Nhs.Services/ResourceService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2793,7 +2793,7 @@ public async Task<GenericFileViewModel> GetGenericFileDetailsByIdAsync(int resou
var vm = this.mapper.Map<GenericFileViewModel>(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();
Expand All @@ -2814,7 +2814,7 @@ public async Task<HtmlResourceViewModel> GetHtmlDetailsByIdAsync(int resourceVer
var vm = this.mapper.Map<HtmlResourceViewModel>(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();
Expand All @@ -2835,7 +2835,7 @@ public async Task<ScormViewModel> GetScormDetailsByIdAsync(int resourceVersionId
var vm = this.mapper.Map<ScormViewModel>(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();
Expand All @@ -2851,9 +2851,9 @@ public async Task<ScormViewModel> GetScormDetailsByIdAsync(int resourceVersionId
/// <param name="resourceVersionId">The resourceVersionId<see cref="int"/>.</param>
/// <param name="userId">userId.</param>
/// <returns>The <see cref="Task{ExternalContentDetailsViewModel}"/>.</returns>
public ExternalContentDetailsViewModel GetExternalContentDetails(int resourceVersionId, int userId)
public async Task<ExternalContentDetailsViewModel> 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();
Expand Down
8 changes: 4 additions & 4 deletions WebAPI/LearningHub.Nhs.Services/ScormContentServerService.cs
Original file line number Diff line number Diff line change
Expand Up @@ -63,9 +63,9 @@ public ScormContentServerService(
/// </summary>
/// <param name="externalUrl">The externalUrl<see cref="string"/>.</param>
/// <returns>The <see cref="ContentServerViewModel"/>.</returns>
public ContentServerViewModel GetContentDetailsByExternalUrl(string externalUrl)
public async Task<ContentServerViewModel> GetContentDetailsByExternalUrl(string externalUrl)
{
var response = this.scormResourceVersionRepository.GetScormContentServerDetailsByHistoricExternalUrl(externalUrl);
var response = await this.scormResourceVersionRepository.GetScormContentServerDetailsByHistoricExternalUrl(externalUrl);

return response;
}
Expand All @@ -75,9 +75,9 @@ public ContentServerViewModel GetContentDetailsByExternalUrl(string externalUrl)
/// </summary>
/// <param name="externalReference">The externalReference<see cref="string"/>.</param>
/// <returns>The <see cref="Task{ContentServerViewModel}"/>.</returns>
public ContentServerViewModel GetContentDetailsByExternalReference(string externalReference)
public async Task<ContentServerViewModel> GetContentDetailsByExternalReference(string externalReference)
{
var response = this.scormResourceVersionRepository.GetContentServerDetailsByLHExternalReference(externalReference);
var response = await this.scormResourceVersionRepository.GetContentServerDetailsByLHExternalReference(externalReference);

return response;
}
Expand Down