-
- @if (Model.ResourceTypeEnum == ResourceTypeEnum.Article)
- {
-
-
Resource Version ID: @Model.ResourceVersionId
-
- - Resource Version Id
- -
- @Html.DisplayFor(model => model.ResourceVersionId)
-
- - Resource Type
- -
- @Html.DisplayFor(model => model.ResourceTypeDescription)
-
- - Content
- -
- @Html.Raw(Model.ArticleDetails.Content)
-
- - Attachments
- -
- @if (Model.ArticleDetails.Files.Any())
- {
- @(await Html.PartialAsync("_Files", Model.ArticleDetails.Files))
- }
- else
- {
- @Html.Raw("None")
- }
-
-
-
- }
-
- @if (Model.ResourceTypeEnum == ResourceTypeEnum.Audio)
- {
-
- @if (Model.AudioDetails.File == null || Model.AudioDetails.TranscriptFile == null)
- {
-
- @if (Model.AudioDetails.File == null)
- {
- @Html.Raw("No Audio File is associated with this Resource Version")
- }
- @if (Model.AudioDetails.TranscriptFile == null)
- {
- @Html.Raw("No Transcript File is associated with this Resource Version")
- }
-
- }
-
Resource Reference ID: @Model.DefaultResourceReferenceId
-
- - Resource Version Id
- -
- @Html.DisplayFor(model => model.ResourceVersionId)
-
- - Resource Type
- -
- @Html.DisplayFor(model => model.ResourceTypeDescription)
-
- @if (@Model.AudioDetails.File != null)
- {
- - Audio File
- -
- @Model.AudioDetails.File.FileName
-
- - Audio File Path
- -
- @Model.AudioDetails.File.FilePath
-
- }
- @if (@Model.AudioDetails.TranscriptFile != null)
- {
- - Transcript File
- -
- @Model.AudioDetails.TranscriptFile.FileName
-
- - Transcript File Path
- -
- @Model.AudioDetails.TranscriptFile.FilePath
-
- }
-
-
- }
-
- @if (Model.ResourceTypeEnum == ResourceTypeEnum.Case)
- {
-
-
Resource Version ID: @Model.ResourceVersionId
-
- - Resource Version Id
- -
- @Html.DisplayFor(model => model.ResourceVersionId)
-
- - Resource Type
- -
- @Html.DisplayFor(model => model.ResourceTypeDescription)
-
- @if (Model.CaseDetails is { BlockCollection: { } })
- {
- if (Model.CaseDetails.BlockCollection.Blocks != null)
- {
- - Number of Blocks
- -
- @Html.DisplayFor(model => model.CaseDetails.BlockCollection.Blocks.Count)
-
- }
- }
-
-
- @if (Model.CaseDetails is { BlockCollection: { } })
- {
-
- }
-
- }
-
- @if (Model.ResourceTypeEnum == ResourceTypeEnum.Embedded)
- {
-
-
Resource Reference ID: @Model.DefaultResourceReferenceId
-
- - Resource Version Id
- -
- @Html.DisplayFor(model => model.ResourceVersionId)
-
- - Resource Type
- -
- @Html.DisplayFor(model => model.ResourceTypeDescription)
-
- - Embed Code
- -
- @Html.DisplayFor(model => model.EmbedCodeDetails.EmbedCode)
-
-
-
- }
-
- @if (Model.ResourceTypeEnum == ResourceTypeEnum.GenericFile)
- {
-
- @if (Model.GenericFileDetails == null || Model.GenericFileDetails.File == null)
- {
-
- @Html.Raw("No File is associated with this Resource Version")
-
- }
-
Resource Reference ID: @Model.DefaultResourceReferenceId
-
- - Resource Version Id
- -
- @Html.DisplayFor(model => model.ResourceVersionId)
-
- - Resource Type
- -
- @Html.DisplayFor(model => model.ResourceTypeDescription)
-
- @if (Model.GenericFileDetails != null && @Model.GenericFileDetails.File != null)
- {
- - File
- -
- @Model.GenericFileDetails.File.FileName
- (@Model.GenericFileDetails.File.FileType.Name)
-
- - File Path
- -
- @Model.GenericFileDetails.File.FilePath
-
- -
-
-
- -
-
-
- }
-
-
- }
-
- @if (Model.ResourceTypeEnum == ResourceTypeEnum.Image)
- {
-
- @if (Model.ImageDetails.File == null)
- {
-
- @if (Model.ImageDetails.File == null)
- {
- @Html.Raw("No Image File is associated with this Resource Version")
- }
-
- }
-
Resource Reference ID: @Model.DefaultResourceReferenceId
-
- - Resource Version Id
- -
- @Html.DisplayFor(model => model.ResourceVersionId)
-
- - Resource Type
- -
- @Html.DisplayFor(model => model.ResourceTypeDescription)
-
- @if (@Model.ImageDetails.File != null)
- {
- - Image File
- -
- @Model.ImageDetails.File.FileName
- (@Model.ImageDetails.File.FileType.Name)
-
- - Image File Path
- -
- @Model.ImageDetails.File.FilePath
-
- }
- - Alt Tag
- -
- @Html.DisplayFor(model => model.ImageDetails.AltTag)
-
-
-
- }
-
- @if (Model.ResourceTypeEnum == ResourceTypeEnum.Video)
- {
-
- @if (Model.VideoDetails.File == null || Model.VideoDetails.TranscriptFile == null || Model.VideoDetails.ClosedCaptionsFile == null)
- {
-
- @if (Model.VideoDetails.File == null)
- {
- @Html.Raw("
No Video File is associated with this Resource Version")
- }
- @if (Model.VideoDetails.TranscriptFile == null)
- {
- @Html.Raw("No Transcript File is associated with this Resource Version")
- }
- @if (Model.VideoDetails.ClosedCaptionsFile == null)
- {
- @Html.Raw("No Closed Captions File is associated with this Resource Version")
- }
-
- }
-
Resource Reference ID: @Model.DefaultResourceReferenceId
-
- - Resource Version Id
- -
- @Html.DisplayFor(model => model.ResourceVersionId)
-
- - Resource Type
- -
- @Html.DisplayFor(model => model.ResourceTypeDescription)
-
- @if (@Model.VideoDetails.File != null)
- {
- - Video File
- -
- @Model.VideoDetails.File.FileName
-
- - Video File Path
- -
- @Model.VideoDetails.File.FilePath
-
- }
- @if (@Model.VideoDetails.TranscriptFile != null)
- {
- - Transcript File
- -
- @Model.VideoDetails.TranscriptFile.FileName
-
- - Transcript File Path
- -
- @Model.VideoDetails.TranscriptFile.FilePath
-
- }
- @if (@Model.VideoDetails.ClosedCaptionsFile != null)
- {
- - Closed Captions File
- -
- @Model.VideoDetails.ClosedCaptionsFile.FileName
-
- - Closed Captions File Path
- -
- @Model.VideoDetails.ClosedCaptionsFile.FilePath
-
- }
-
-
- }
-
- @if (Model.ResourceTypeEnum == ResourceTypeEnum.WebLink)
- {
-
-
Resource Reference ID: @Model.DefaultResourceReferenceId
-
- - Resource Version Id
- -
- @Html.DisplayFor(model => model.ResourceVersionId)
-
- - Resource Type
- -
- @Html.DisplayFor(model => model.ResourceTypeDescription)
-
- - Url
- -
- @Html.DisplayFor(model => model.WebLinkDetails.Url)
-
- - Display Text
- -
- @Html.DisplayFor(model => model.WebLinkDetails.DisplayText)
-
-
-
- }
-
- @if (Model.ResourceTypeEnum == ResourceTypeEnum.Scorm)
- {
-
-
Resource Reference ID: @Model.DefaultResourceReferenceId
-
- - Resource Version Id
- - @Html.DisplayFor(model => model.ResourceVersionId)
- - Resource Type
- -
- @Html.DisplayFor(model => model.ResourceTypeDescription)
-
- - ESR Link
- - @Model.ScormDetails.HostedContentUrl
- - Zip File
- -
- @Model.ScormDetails.File.FileName
-
- - Allowed Download
- - @(Model.ScormDetails.CanDownload ? "Yes" : "No")
- - Forced clearing of user suspend data
- - @(Model.ScormDetails.ClearSuspendData ? "Yes" : "No")
- - Content Folder
- - @Model.ScormDetails.ContentFilePath
-
-
- }
-
- @if (Model.ResourceTypeEnum == ResourceTypeEnum.Assessment)
- {
-
-
Resource Version ID: @Model.ResourceVersionId
-
- - Resource Version Id
- -
- @Html.DisplayFor(model => model.ResourceVersionId)
-
- - Resource Type
- -
- @Html.DisplayFor(model => model.ResourceTypeDescription)
-
- @if (Model.AssessmentDetails is { AssessmentContent: { } })
- {
- - Assessment Type
- -
- @Html.DisplayFor(model => model.AssessmentDetails.AssessmentType)
-
- if (Model.AssessmentDetails.PassMark != null)
- {
- - Pass Mark
- -
- @Html.DisplayFor(model => model.AssessmentDetails.PassMark)
-
- }
- if (Model.AssessmentDetails.MaximumAttempts != null)
- {
- - Maximum Attempts
- -
- @Html.DisplayFor(model => model.AssessmentDetails.MaximumAttempts)
-
- }
- - Answer in order
- -
- @(Model.AssessmentDetails.AnswerInOrder ? "Yes" : "No")
-
- }
-
- @if (Model.AssessmentDetails is { EndGuidance: { } } && Model.AssessmentDetails.EndGuidance.Blocks != null)
- {
-
- - End Guidance: Number of Blocks
- -
- @Html.DisplayFor(model => model.AssessmentDetails.EndGuidance.Blocks.Count)
-
-
-
- }
-
- @if (Model.AssessmentDetails is { AssessmentContent: { } } && Model.AssessmentDetails.AssessmentContent.Blocks != null)
- {
-
- - Content: Number of Blocks
- -
- @Html.DisplayFor(model => model.AssessmentDetails.AssessmentContent.Blocks.Count)
-
-
-
- }
-
- }
+ }
+
+ @if (Model.ResourceTypeEnum == ResourceTypeEnum.Audio)
+ {
+
+ @if (Model.AudioDetails.File == null || Model.AudioDetails.TranscriptFile == null)
+ {
+
+ @if (Model.AudioDetails.File == null)
+ {
+ @Html.Raw("No Audio File is associated with this Resource Version")
+ }
+ @if (Model.AudioDetails.TranscriptFile == null)
+ {
+ @Html.Raw("No Transcript File is associated with this Resource Version")
+ }
+ }
+
Resource Reference ID: @Model.DefaultResourceReferenceId
+
+ - Resource Version Id
+ -
+ @Html.DisplayFor(model => model.ResourceVersionId)
+
+ - Resource Type
+ -
+ @Html.DisplayFor(model => model.ResourceTypeDescription)
+
+ @if (@Model.AudioDetails.File != null)
+ {
+ - Audio File
+ -
+ @Model.AudioDetails.File.FileName
+
+ - Audio File Path
+ -
+ @Model.AudioDetails.File.FilePath
+
+ }
+ @if (@Model.AudioDetails.TranscriptFile != null)
+ {
+ - Transcript File
+ -
+ @Model.AudioDetails.TranscriptFile.FileName
+
+ - Transcript File Path
+ -
+ @Model.AudioDetails.TranscriptFile.FilePath
+
+ }
+
+ }
+
+ @if (Model.ResourceTypeEnum == ResourceTypeEnum.Case)
+ {
+
+
Resource Version ID: @Model.ResourceVersionId
+
+ - Resource Version Id
+ -
+ @Html.DisplayFor(model => model.ResourceVersionId)
+
+ - Resource Type
+ -
+ @Html.DisplayFor(model => model.ResourceTypeDescription)
+
+ @if (Model.CaseDetails is { BlockCollection: { } })
+ {
+ if (Model.CaseDetails.BlockCollection.Blocks != null)
+ {
+ - Number of Blocks
+ -
+ @Html.DisplayFor(model => model.CaseDetails.BlockCollection.Blocks.Count)
+
+ }
+ }
+
-
-
-
+ @if (Model.CaseDetails is { BlockCollection: { } })
+ {
+
+ }
+
+ }
+
+ @if (Model.ResourceTypeEnum == ResourceTypeEnum.Embedded)
+ {
+
+
Resource Reference ID: @Model.DefaultResourceReferenceId
+
+ - Resource Version Id
+ -
+ @Html.DisplayFor(model => model.ResourceVersionId)
+
+ - Resource Type
+ -
+ @Html.DisplayFor(model => model.ResourceTypeDescription)
+
+ - Embed Code
+ -
+ @Html.DisplayFor(model => model.EmbedCodeDetails.EmbedCode)
+
+
+
+ }
+
+ @if (Model.ResourceTypeEnum == ResourceTypeEnum.GenericFile)
+ {
+
+ @if (Model.GenericFileDetails == null || Model.GenericFileDetails.File == null)
+ {
+
+ @Html.Raw("No File is associated with this Resource Version")
+ }
+
Resource Reference ID: @Model.DefaultResourceReferenceId
+
+ - Resource Version Id
+ -
+ @Html.DisplayFor(model => model.ResourceVersionId)
+
+ - Resource Type
+ -
+ @Html.DisplayFor(model => model.ResourceTypeDescription)
+
+ @if (Model.GenericFileDetails != null && @Model.GenericFileDetails.File != null)
+ {
+ - File
+ -
+ @Model.GenericFileDetails.File.FileName
+ (@Model.GenericFileDetails.File.FileType.Name)
+
+ - File Path
+ -
+ @Model.GenericFileDetails.File.FilePath
+
+ -
+
+
+ -
+
+
+ }
+
-
-
-
-
+ }
+
+ @if (Model.ResourceTypeEnum == ResourceTypeEnum.Image)
+ {
+
+ @if (Model.ImageDetails.File == null)
+ {
+
+ @if (Model.ImageDetails.File == null)
+ {
+ @Html.Raw("No Image File is associated with this Resource Version")
+ }
+ }
+
Resource Reference ID: @Model.DefaultResourceReferenceId
+
+ - Resource Version Id
+ -
+ @Html.DisplayFor(model => model.ResourceVersionId)
+
+ - Resource Type
+ -
+ @Html.DisplayFor(model => model.ResourceTypeDescription)
+
+ @if (@Model.ImageDetails.File != null)
+ {
+ - Image File
+ -
+ @Model.ImageDetails.File.FileName
+ (@Model.ImageDetails.File.FileType.Name)
+
+ - Image File Path
+ -
+ @Model.ImageDetails.File.FilePath
+
+ }
+ - Alt Tag
+ -
+ @Html.DisplayFor(model => model.ImageDetails.AltTag)
+
+
- @if (Model.HasValidationErrors)
- {
-
-
+ }
+
+ @if (Model.ResourceTypeEnum == ResourceTypeEnum.Video)
+ {
+
+ @if (Model.VideoDetails.File == null || Model.VideoDetails.TranscriptFile == null || Model.VideoDetails.ClosedCaptionsFile == null)
+ {
+
+ @if (Model.VideoDetails.File == null)
+ {
+ @Html.Raw("
No Video File is associated with this Resource Version")
+ }
+ @if (Model.VideoDetails.TranscriptFile == null)
+ {
+ @Html.Raw("No Transcript File is associated with this Resource Version")
+ }
+ @if (Model.VideoDetails.ClosedCaptionsFile == null)
+ {
+ @Html.Raw("No Closed Captions File is associated with this Resource Version")
+ }
- }
+ }
+
Resource Reference ID: @Model.DefaultResourceReferenceId
+
+ - Resource Version Id
+ -
+ @Html.DisplayFor(model => model.ResourceVersionId)
+
+ - Resource Type
+ -
+ @Html.DisplayFor(model => model.ResourceTypeDescription)
+
+ @if (@Model.VideoDetails.File != null)
+ {
+ - Video File
+ -
+ @Model.VideoDetails.File.FileName
+
+ - Video File Path
+ -
+ @Model.VideoDetails.File.FilePath
+
+ }
+ @if (@Model.VideoDetails.TranscriptFile != null)
+ {
+ - Transcript File
+ -
+ @Model.VideoDetails.TranscriptFile.FileName
+
+ - Transcript File Path
+ -
+ @Model.VideoDetails.TranscriptFile.FilePath
+
+ }
+ @if (@Model.VideoDetails.ClosedCaptionsFile != null)
+ {
+ - Closed Captions File
+ -
+ @Model.VideoDetails.ClosedCaptionsFile.FileName
+
+ - Closed Captions File Path
+ -
+ @Model.VideoDetails.ClosedCaptionsFile.FilePath
+
+ }
+
+
+ }
+
+ @if (Model.ResourceTypeEnum == ResourceTypeEnum.WebLink)
+ {
+
+
Resource Reference ID: @Model.DefaultResourceReferenceId
+
+ - Resource Version Id
+ -
+ @Html.DisplayFor(model => model.ResourceVersionId)
+
+ - Resource Type
+ -
+ @Html.DisplayFor(model => model.ResourceTypeDescription)
+
+ - Url
+ -
+ @Html.DisplayFor(model => model.WebLinkDetails.Url)
+
+ - Display Text
+ -
+ @Html.DisplayFor(model => model.WebLinkDetails.DisplayText)
+
+
+
+ }
+
+ @if (Model.ResourceTypeEnum == ResourceTypeEnum.Scorm)
+ {
+
+
Resource Reference ID: @Model.DefaultResourceReferenceId
+
+ - Resource Version Id
+ - @Html.DisplayFor(model => model.ResourceVersionId)
+ - Resource Type
+ -
+ @Html.DisplayFor(model => model.ResourceTypeDescription)
+
+ - ESR Link
+ - @Model.ScormDetails.HostedContentUrl
+ - Zip File
+ -
+ @Model.ScormDetails.File.FileName
+
+ - Allowed Download
+ - @(Model.ScormDetails.CanDownload ? "Yes" : "No")
+ - Forced clearing of user suspend data
+ - @(Model.ScormDetails.ClearSuspendData ? "Yes" : "No")
+ - Content Folder
+ - @Model.ScormDetails.ContentFilePath
+
+
+ }
+
+ @if (Model.ResourceTypeEnum == ResourceTypeEnum.Assessment)
+ {
+
+
Resource Version ID: @Model.ResourceVersionId
+
+ - Resource Version Id
+ -
+ @Html.DisplayFor(model => model.ResourceVersionId)
+
+ - Resource Type
+ -
+ @Html.DisplayFor(model => model.ResourceTypeDescription)
+
+ @if (Model.AssessmentDetails is { AssessmentContent: { } })
+ {
+ - Assessment Type
+ -
+ @Html.DisplayFor(model => model.AssessmentDetails.AssessmentType)
+
+ if (Model.AssessmentDetails.PassMark != null)
+ {
+ - Pass Mark
+ -
+ @Html.DisplayFor(model => model.AssessmentDetails.PassMark)
+
+ }
+ if (Model.AssessmentDetails.MaximumAttempts != null)
+ {
+ - Maximum Attempts
+ -
+ @Html.DisplayFor(model => model.AssessmentDetails.MaximumAttempts)
+
+ }
+ - Answer in order
+ -
+ @(Model.AssessmentDetails.AnswerInOrder ? "Yes" : "No")
+
+ }
+
+ @if (Model.AssessmentDetails is { EndGuidance: { } } && Model.AssessmentDetails.EndGuidance.Blocks != null)
+ {
+
+ - End Guidance: Number of Blocks
+ -
+ @Html.DisplayFor(model => model.AssessmentDetails.EndGuidance.Blocks.Count)
+
+
+
+ }
+
+ @if (Model.AssessmentDetails is { AssessmentContent: { } } && Model.AssessmentDetails.AssessmentContent.Blocks != null)
+ {
+
+ - Content: Number of Blocks
+ -
+ @Html.DisplayFor(model => model.AssessmentDetails.AssessmentContent.Blocks.Count)
+
+
+
+ }
+
+ }
- }
+
+
+
+
+
+
+
+ @if (this.ViewBag.Status == "Success")
+ {
+
+
+
Successfully updated the details
+
+ }
+ @if (this.ViewBag.Status == "Duplicate")
+ {
+
+
Dev Id already exists.
+
+ }
+
+
+
+
+ @if (Model.HasValidationErrors)
+ {
+
+ }
+
+ }
@section Scripts{
-
+
}
diff --git a/AdminUI/LearningHub.Nhs.AdminUI/Views/Resource/_DevIdDetails.cshtml b/AdminUI/LearningHub.Nhs.AdminUI/Views/Resource/_DevIdDetails.cshtml
new file mode 100644
index 000000000..7e6c5bf71
--- /dev/null
+++ b/AdminUI/LearningHub.Nhs.AdminUI/Views/Resource/_DevIdDetails.cshtml
@@ -0,0 +1,22 @@
+@model LearningHub.Nhs.Models.Resource.ResourceVersionDevIdViewModel
+
+@{
+ ViewData["Title"] = "Add development Id ";
+ var errorHasOccurred = !ViewData.ModelState.IsValid;
+}
+
\ No newline at end of file
diff --git a/LearningHub.Nhs.WebUI/LearningHub.Nhs.WebUI.csproj b/LearningHub.Nhs.WebUI/LearningHub.Nhs.WebUI.csproj
index 78ab26256..3f3f09de7 100644
--- a/LearningHub.Nhs.WebUI/LearningHub.Nhs.WebUI.csproj
+++ b/LearningHub.Nhs.WebUI/LearningHub.Nhs.WebUI.csproj
@@ -108,7 +108,7 @@
-
+
diff --git a/OpenAPI/LearningHub.Nhs.OpenApi.Models/LearningHub.Nhs.OpenApi.Models.csproj b/OpenAPI/LearningHub.Nhs.OpenApi.Models/LearningHub.Nhs.OpenApi.Models.csproj
index 0af6830e4..6062a7b7a 100644
--- a/OpenAPI/LearningHub.Nhs.OpenApi.Models/LearningHub.Nhs.OpenApi.Models.csproj
+++ b/OpenAPI/LearningHub.Nhs.OpenApi.Models/LearningHub.Nhs.OpenApi.Models.csproj
@@ -16,7 +16,7 @@
-
+
diff --git a/OpenAPI/LearningHub.Nhs.OpenApi.Services.Interface/LearningHub.Nhs.OpenApi.Services.Interface.csproj b/OpenAPI/LearningHub.Nhs.OpenApi.Services.Interface/LearningHub.Nhs.OpenApi.Services.Interface.csproj
index 55ce79f06..3d46e57aa 100644
--- a/OpenAPI/LearningHub.Nhs.OpenApi.Services.Interface/LearningHub.Nhs.OpenApi.Services.Interface.csproj
+++ b/OpenAPI/LearningHub.Nhs.OpenApi.Services.Interface/LearningHub.Nhs.OpenApi.Services.Interface.csproj
@@ -16,7 +16,7 @@
-
+
diff --git a/OpenAPI/LearningHub.Nhs.OpenApi.Services/LearningHub.Nhs.OpenApi.Services.csproj b/OpenAPI/LearningHub.Nhs.OpenApi.Services/LearningHub.Nhs.OpenApi.Services.csproj
index dece11f1c..26457744e 100644
--- a/OpenAPI/LearningHub.Nhs.OpenApi.Services/LearningHub.Nhs.OpenApi.Services.csproj
+++ b/OpenAPI/LearningHub.Nhs.OpenApi.Services/LearningHub.Nhs.OpenApi.Services.csproj
@@ -24,7 +24,7 @@
-
+
diff --git a/WebAPI/LearningHub.Nhs.API/Controllers/ResourceController.cs b/WebAPI/LearningHub.Nhs.API/Controllers/ResourceController.cs
index b556e211d..83ba526b3 100644
--- a/WebAPI/LearningHub.Nhs.API/Controllers/ResourceController.cs
+++ b/WebAPI/LearningHub.Nhs.API/Controllers/ResourceController.cs
@@ -858,6 +858,43 @@ public async Task GetResourceVersionValidationResultAsync(int reso
return this.Ok(await this.resourceService.GetResourceVersionValidationResultAsync(resourceVersionId));
}
+ ///
+ /// The get resource version Dev Id details.
+ ///
+ /// The resourceVersionId.
+ /// The .
+ [HttpGet]
+ [Route("GetResourceVersionDevIdDetails/{resourceVersionId}")]
+ public async Task GetResourceVersionDevIdDetails(int resourceVersionId)
+ {
+ return this.Ok(await this.resourceService.GetResourceVersionDevIdDetailsAync(resourceVersionId));
+ }
+
+ ///
+ /// To check devId already exists against a resource.
+ ///
+ /// The devId.
+ /// The .
+ [HttpGet]
+ [Route("DoesDevIdExists/{devId}")]
+ public async Task DoesDevIdExists(string devId)
+ {
+ return this.Ok(await this.resourceService.DoesDevIdExistsAync(devId));
+ }
+
+ ///
+ /// Update dev Id details.
+ ///
+ /// The ResourceVersionDevIdViewModel.
+ /// The .
+ [HttpPut]
+ [Route("UpdateDevId")]
+ public async Task UpdateDevId([FromBody] ResourceVersionDevIdViewModel resourceVersionDevIdViewModel)
+ {
+ await this.resourceService.UpdateDevIdDetailsAsync(resourceVersionDevIdViewModel, this.CurrentUserId);
+ return this.Ok();
+ }
+
///
/// The get resource version flags.
///
diff --git a/WebAPI/LearningHub.Nhs.API/LearningHub.Nhs.Api.csproj b/WebAPI/LearningHub.Nhs.API/LearningHub.Nhs.Api.csproj
index 82b88c37a..b1b3f6e95 100644
--- a/WebAPI/LearningHub.Nhs.API/LearningHub.Nhs.Api.csproj
+++ b/WebAPI/LearningHub.Nhs.API/LearningHub.Nhs.Api.csproj
@@ -27,7 +27,7 @@
-
+
diff --git a/WebAPI/LearningHub.Nhs.Api.Shared/LearningHub.Nhs.Api.Shared.csproj b/WebAPI/LearningHub.Nhs.Api.Shared/LearningHub.Nhs.Api.Shared.csproj
index f38e0260e..4a089b9a3 100644
--- a/WebAPI/LearningHub.Nhs.Api.Shared/LearningHub.Nhs.Api.Shared.csproj
+++ b/WebAPI/LearningHub.Nhs.Api.Shared/LearningHub.Nhs.Api.Shared.csproj
@@ -9,7 +9,7 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/WebAPI/LearningHub.Nhs.Api.UnitTests/LearningHub.Nhs.Api.UnitTests.csproj b/WebAPI/LearningHub.Nhs.Api.UnitTests/LearningHub.Nhs.Api.UnitTests.csproj
index f61e84c2f..02c58af7b 100644
--- a/WebAPI/LearningHub.Nhs.Api.UnitTests/LearningHub.Nhs.Api.UnitTests.csproj
+++ b/WebAPI/LearningHub.Nhs.Api.UnitTests/LearningHub.Nhs.Api.UnitTests.csproj
@@ -11,7 +11,7 @@
-
+
diff --git a/WebAPI/LearningHub.Nhs.Database/LearningHub.Nhs.Database.sqlproj b/WebAPI/LearningHub.Nhs.Database/LearningHub.Nhs.Database.sqlproj
index 2a0f76452..792327ae2 100644
--- a/WebAPI/LearningHub.Nhs.Database/LearningHub.Nhs.Database.sqlproj
+++ b/WebAPI/LearningHub.Nhs.Database/LearningHub.Nhs.Database.sqlproj
@@ -527,6 +527,7 @@
+
diff --git a/WebAPI/LearningHub.Nhs.Database/Scripts/Pre-Deploy/Scripts/TD-2396-Add_DevId_ResourceVersion.sql b/WebAPI/LearningHub.Nhs.Database/Scripts/Pre-Deploy/Scripts/TD-2396-Add_DevId_ResourceVersion.sql
new file mode 100644
index 000000000..e0ea212b9
--- /dev/null
+++ b/WebAPI/LearningHub.Nhs.Database/Scripts/Pre-Deploy/Scripts/TD-2396-Add_DevId_ResourceVersion.sql
@@ -0,0 +1,2 @@
+ALTER TABLE resources.Resourceversion
+ADD DevId NVARCHAR(30) NULL;
\ No newline at end of file
diff --git a/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Resources/ResourceVersionCreateDuplicate.sql b/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Resources/ResourceVersionCreateDuplicate.sql
index aeaa8045e..24b1a7a7b 100644
--- a/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Resources/ResourceVersionCreateDuplicate.sql
+++ b/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Resources/ResourceVersionCreateDuplicate.sql
@@ -8,6 +8,7 @@
-- 12-08-2021 Julian Ng Initial Revision
-- 13-08-2021 Julian Ng Extract Case Resource duplication to stored proc
-- 20-09-2021 Malina Slevoaca Allow duplicating Assessment resource type
+-- 22-10-2024 SA Added column Dev Id
-------------------------------------------------------------------------------
CREATE TYPE [resources].[CurrentBlockIdsType]
AS TABLE (
@@ -114,8 +115,8 @@ BEGIN
SELECT @NewResourceId = SCOPE_IDENTITY()
-- Populate the ResourceVersions common details
- INSERT INTO resources.ResourceVersion (ResourceId, VersionStatusId,ResourceAccessibilityId, PublicationId, MajorVersion, MinorVersion, Title, Description, AdditionalInformation, ReviewDate, HasCost, Cost, ResourceLicenceId, SensitiveContent, CertificateEnabled, Deleted, CreateUserId, CreateDate, AmendUserId, AmendDate)
- SELECT @NewResourceId, 1,ResourceAccessibilityId, null, null, null, 'Copy of ' + Title, Description, AdditionalInformation, null, 0, null, ResourceLicenceId, SensitiveContent, CertificateEnabled, 0, @UserId, @AmendDate, @UserId, @AmendDate
+ INSERT INTO resources.ResourceVersion (ResourceId, VersionStatusId,ResourceAccessibilityId, PublicationId, MajorVersion, MinorVersion, Title, Description, AdditionalInformation, ReviewDate, HasCost, Cost, ResourceLicenceId, SensitiveContent, CertificateEnabled, Deleted, CreateUserId, CreateDate, AmendUserId, AmendDate,DevId)
+ SELECT @NewResourceId, 1,ResourceAccessibilityId, null, null, null, 'Copy of ' + Title, Description, AdditionalInformation, null, 0, null, ResourceLicenceId, SensitiveContent, CertificateEnabled, 0, @UserId, @AmendDate, @UserId, @AmendDate,DevId
FROM resources.ResourceVersion
WHERE id = @CurrentResourceVersionId
SELECT @ResourceVersionId = SCOPE_IDENTITY()
diff --git a/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Resources/ResourceVersionCreateNext.sql b/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Resources/ResourceVersionCreateNext.sql
index f754bd113..c63eb9521 100644
--- a/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Resources/ResourceVersionCreateNext.sql
+++ b/WebAPI/LearningHub.Nhs.Database/Stored Procedures/Resources/ResourceVersionCreateNext.sql
@@ -10,6 +10,7 @@
-- 29 Sep 2020 Dave Brown Addition of NodeResource records
-- 11-01-2021 Dharmendra Verma Card-6516, Set correct timezone information
-- 17-08-2023 Jignesh Jetghwani Card-1318, Addition of ResourceNodeVersion Provider
+-- 22-10-2023 SA Added column Dev Id
-------------------------------------------------------------------------------
CREATE PROCEDURE [resources].[ResourceVersionCreateNext]
(
@@ -51,8 +52,8 @@ BEGIN
BEGIN TRAN
- INSERT INTO resources.ResourceVersion (ResourceId, VersionStatusId,ResourceAccessibilityId, PublicationId, MajorVersion, MinorVersion, Title, Description, AdditionalInformation, ReviewDate, HasCost, Cost, ResourceLicenceId, SensitiveContent, CertificateEnabled, Deleted, CreateUserId, CreateDate, AmendUserId, AmendDate)
- SELECT ResourceId, 1 /* Draft */,ResourceAccessibilityId, null, MajorVersion, MinorVersion, Title, Description, AdditionalInformation, ReviewDate, HasCost, Cost, ResourceLicenceId, SensitiveContent, CertificateEnabled, 0, @UserId, @AmendDate, @UserId, @AmendDate
+ INSERT INTO resources.ResourceVersion (ResourceId, VersionStatusId,ResourceAccessibilityId, PublicationId, MajorVersion, MinorVersion, Title, Description, AdditionalInformation, ReviewDate, HasCost, Cost, ResourceLicenceId, SensitiveContent, CertificateEnabled, Deleted, CreateUserId, CreateDate, AmendUserId, AmendDate,DevId)
+ SELECT ResourceId, 1 /* Draft */,ResourceAccessibilityId, null, MajorVersion, MinorVersion, Title, Description, AdditionalInformation, ReviewDate, HasCost, Cost, ResourceLicenceId, SensitiveContent, CertificateEnabled, 0, @UserId, @AmendDate, @UserId, @AmendDate,DevId
FROM resources.ResourceVersion
WHERE id = @CurrentResourceVersionId
SELECT @ResourceVersionId = SCOPE_IDENTITY()
diff --git a/WebAPI/LearningHub.Nhs.Repository.Interface/LearningHub.Nhs.Repository.Interface.csproj b/WebAPI/LearningHub.Nhs.Repository.Interface/LearningHub.Nhs.Repository.Interface.csproj
index a2ac5f308..a6c146998 100644
--- a/WebAPI/LearningHub.Nhs.Repository.Interface/LearningHub.Nhs.Repository.Interface.csproj
+++ b/WebAPI/LearningHub.Nhs.Repository.Interface/LearningHub.Nhs.Repository.Interface.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/WebAPI/LearningHub.Nhs.Repository.Interface/Resources/IResourceVersionRepository.cs b/WebAPI/LearningHub.Nhs.Repository.Interface/Resources/IResourceVersionRepository.cs
index 2a96c845e..2c12c45bc 100644
--- a/WebAPI/LearningHub.Nhs.Repository.Interface/Resources/IResourceVersionRepository.cs
+++ b/WebAPI/LearningHub.Nhs.Repository.Interface/Resources/IResourceVersionRepository.cs
@@ -66,6 +66,20 @@ public interface IResourceVersionRepository : IGenericRepositoryThe .
Task GetCurrentResourceDetailsAsync(int resourceId);
+ ///
+ /// The get resource version details by id async.
+ ///
+ /// The resourceVersionId.
+ /// The .
+ Task GetByResourceVersionByIdAsync(int resourceVersionId);
+
+ ///
+ /// The check dev id already exists in the table async.
+ ///
+ /// The devId.
+ /// The .
+ Task DoesDevIdExistsAync(string devId);
+
///
/// The get current published for resource async.
///
@@ -211,7 +225,7 @@ public interface IResourceVersionRepository : IGenericRepository
/// The resource version id.
/// The user id.
- void Publishing(int resourceVersionId, int userId);
+ void Publishing(int resourceVersionId, int userId);
///
/// "Failed to publish".
@@ -277,5 +291,13 @@ public interface IResourceVersionRepository : IGenericRepositoryuserId.
/// A representing the result of the asynchronous operation.
Task GetExternalContentDetails(int resourceVersionId, int userId);
+
+ ///
+ /// To update dev id details.
+ ///
+ /// The userId.
+ /// The resourceVersionDevIdViewModel.
+ /// The .
+ Task UpdateDevIdAsync(int userId, ResourceVersionDevIdViewModel resourceVersionDevIdViewModel);
}
}
diff --git a/WebAPI/LearningHub.Nhs.Repository/LearningHub.Nhs.Repository.csproj b/WebAPI/LearningHub.Nhs.Repository/LearningHub.Nhs.Repository.csproj
index 0f94d7953..3173c4895 100644
--- a/WebAPI/LearningHub.Nhs.Repository/LearningHub.Nhs.Repository.csproj
+++ b/WebAPI/LearningHub.Nhs.Repository/LearningHub.Nhs.Repository.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/WebAPI/LearningHub.Nhs.Repository/Resources/ResourceVersionRepository.cs b/WebAPI/LearningHub.Nhs.Repository/Resources/ResourceVersionRepository.cs
index cee3e6a07..bb07ad06f 100644
--- a/WebAPI/LearningHub.Nhs.Repository/Resources/ResourceVersionRepository.cs
+++ b/WebAPI/LearningHub.Nhs.Repository/Resources/ResourceVersionRepository.cs
@@ -184,6 +184,26 @@ public async Task GetCurrentResourceDetailsAsync(int resourceId
&& !r.Deleted);
}
+ ///
+ /// The get resource version details by id async.
+ ///
+ /// The resourceVersionId.
+ /// The .
+ public async Task GetByResourceVersionByIdAsync(int resourceVersionId)
+ {
+ return await this.DbContext.ResourceVersion.OrderByDescending(r => r.Id).FirstOrDefaultAsync(x => x.Id == resourceVersionId);
+ }
+
+ ///
+ /// The check dev id already exists in the table async.
+ ///
+ /// The devId.
+ /// The .
+ public async Task DoesDevIdExistsAync(string devId)
+ {
+ return await this.DbContext.ResourceVersion.OrderByDescending(r => r.Id).FirstOrDefaultAsync(x => x.DevId == devId);
+ }
+
///
/// The get current published for resource async.
///
@@ -343,6 +363,27 @@ public async Task> GetResourceVersionsAsync(int resourceId
await this.DbContext.SaveChangesAsync();
}
+ ///
+ /// The update async.
+ ///
+ /// The user id.
+ /// The resourceVersionDevIdViewModel.
+ /// The .
+ public async Task UpdateDevIdAsync(int userId, ResourceVersionDevIdViewModel resourceVersionDevIdViewModel)
+ {
+ var resourceVersionUpdate = this.DbContext.ResourceVersion
+ .SingleOrDefault(r => r.Id == resourceVersionDevIdViewModel.ResourceVersionId);
+
+ if (resourceVersionUpdate != null)
+ {
+ // Update Resource Version
+ resourceVersionUpdate.DevId = resourceVersionDevIdViewModel.DevId;
+ this.SetAuditFieldsForUpdate(userId, resourceVersionUpdate);
+ }
+
+ await this.DbContext.SaveChangesAsync();
+ }
+
///
/// The set resource type.
///
diff --git a/WebAPI/LearningHub.Nhs.Services.Interface/IResourceService.cs b/WebAPI/LearningHub.Nhs.Services.Interface/IResourceService.cs
index c149110b9..9b2e8e9d4 100644
--- a/WebAPI/LearningHub.Nhs.Services.Interface/IResourceService.cs
+++ b/WebAPI/LearningHub.Nhs.Services.Interface/IResourceService.cs
@@ -692,6 +692,28 @@ Task GetAssessmentProgress(
/// The .
Task GetResourceVersionValidationResultAsync(int resourceVersionId);
+ ///
+ /// The GetResourceVersionDevIdDetailsAync.
+ ///
+ /// The resourceVersionId.
+ /// The .
+ Task GetResourceVersionDevIdDetailsAync(int resourceVersionId);
+
+ ///
+ /// The get resource version dev id async.
+ ///
+ /// The devId.
+ /// The .
+ Task DoesDevIdExistsAync(string devId);
+
+ ///
+ /// Update Dev Id details.
+ ///
+ /// The resourceVersionDevIdViewModel.
+ /// The currentUserId.
+ /// The .
+ Task UpdateDevIdDetailsAsync(ResourceVersionDevIdViewModel resourceVersionDevIdViewModel, int currentUserId);
+
///
/// The get resource version flags async.
///
diff --git a/WebAPI/LearningHub.Nhs.Services.Interface/LearningHub.Nhs.Services.Interface.csproj b/WebAPI/LearningHub.Nhs.Services.Interface/LearningHub.Nhs.Services.Interface.csproj
index 59748eeb8..a7a9f0048 100644
--- a/WebAPI/LearningHub.Nhs.Services.Interface/LearningHub.Nhs.Services.Interface.csproj
+++ b/WebAPI/LearningHub.Nhs.Services.Interface/LearningHub.Nhs.Services.Interface.csproj
@@ -16,7 +16,7 @@
-
+
all
diff --git a/WebAPI/LearningHub.Nhs.Services.UnitTests/LearningHub.Nhs.Services.UnitTests.csproj b/WebAPI/LearningHub.Nhs.Services.UnitTests/LearningHub.Nhs.Services.UnitTests.csproj
index 7f312c998..d64166759 100644
--- a/WebAPI/LearningHub.Nhs.Services.UnitTests/LearningHub.Nhs.Services.UnitTests.csproj
+++ b/WebAPI/LearningHub.Nhs.Services.UnitTests/LearningHub.Nhs.Services.UnitTests.csproj
@@ -13,7 +13,7 @@
-
+
diff --git a/WebAPI/LearningHub.Nhs.Services/LearningHub.Nhs.Services.csproj b/WebAPI/LearningHub.Nhs.Services/LearningHub.Nhs.Services.csproj
index e9fa30eef..c8b4ec333 100644
--- a/WebAPI/LearningHub.Nhs.Services/LearningHub.Nhs.Services.csproj
+++ b/WebAPI/LearningHub.Nhs.Services/LearningHub.Nhs.Services.csproj
@@ -13,7 +13,7 @@
-
+
diff --git a/WebAPI/LearningHub.Nhs.Services/ResourceService.cs b/WebAPI/LearningHub.Nhs.Services/ResourceService.cs
index 76d8df791..6d71a5194 100644
--- a/WebAPI/LearningHub.Nhs.Services/ResourceService.cs
+++ b/WebAPI/LearningHub.Nhs.Services/ResourceService.cs
@@ -2,14 +2,12 @@ namespace LearningHub.Nhs.Services
{
using System;
using System.Collections.Generic;
- using System.Drawing.Imaging;
using System.Globalization;
using System.Linq;
using System.Net.Http;
using System.Threading.Tasks;
using AutoMapper;
using Azure.Storage.Blobs;
- using Azure.Storage.Blobs.Models;
using Azure.Storage.Blobs.Specialized;
using LearningHub.Nhs.Api.Shared.Configuration;
using LearningHub.Nhs.Entities.Resource;
@@ -1332,7 +1330,7 @@ public async Task> GetObsoleteResourceFile(int resourceVersionId, b
{
if (resourceVersion.ResourceType == ResourceTypeEnum.Assessment)
{
- if (deletedResource)
+ if (deletedResource)
{
var assessmentFiles = await this.GetResourceBlockCollectionsFilePathAsync(resourceVersionId, ResourceTypeEnum.Assessment);
if (assessmentFiles.Any())
@@ -1350,8 +1348,8 @@ public async Task> GetObsoleteResourceFile(int resourceVersionId, b
List deletableFiles = null;
if (assessmentDetails is { EndGuidance: { } } && assessmentDetails.EndGuidance.Blocks != null)
{
- var endGuidanceFiles = this.CheckBlockFile(assessmentDetails.EndGuidance, currentAssessmentVersion.EndGuidance);
- if (endGuidanceFiles.Any())
+ var endGuidanceFiles = this.CheckBlockFile(assessmentDetails.EndGuidance, currentAssessmentVersion.EndGuidance);
+ if (endGuidanceFiles.Any())
{
deletableFiles = await this.GetResourceBlockCollectionsFilePathAsync(rv.Id, ResourceTypeEnum.Assessment);
retVal.AddRange(from entry in endGuidanceFiles
@@ -1832,6 +1830,48 @@ public async Task GetResourceVersionVa
return retVal;
}
+ ///
+ /// The get resource version dev id async.
+ ///
+ /// The resourceVersionId.
+ /// The .
+ public async Task GetResourceVersionDevIdDetailsAync(int resourceVersionId)
+ {
+ ResourceVersionDevIdViewModel resourceVersionDevIdViewModel = new ResourceVersionDevIdViewModel();
+ var res = await this.resourceVersionRepository.GetByResourceVersionByIdAsync(resourceVersionId);
+ resourceVersionDevIdViewModel.ResourceVersionId = res.Id;
+ resourceVersionDevIdViewModel.DevId = res.DevId;
+ return resourceVersionDevIdViewModel;
+ }
+
+ ///
+ /// The get resource version dev id async.
+ ///
+ /// The devId.
+ /// The .
+ public async Task DoesDevIdExistsAync(string devId)
+ {
+ var res = await this.resourceVersionRepository.DoesDevIdExistsAync(devId);
+
+ if (res != null)
+ {
+ return true;
+ }
+
+ return false;
+ }
+
+ ///
+ /// Update Dev Id details.
+ ///
+ /// The resourceVersionDevIdViewModel.
+ /// The currentUserId.
+ /// The .
+ public async Task UpdateDevIdDetailsAsync(ResourceVersionDevIdViewModel resourceVersionDevIdViewModel, int currentUserId)
+ {
+ await this.resourceVersionRepository.UpdateDevIdAsync(currentUserId, resourceVersionDevIdViewModel);
+ }
+
///
/// The get resource version flags async.
///
diff --git a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.ConsoleApp/LearningHub.Nhs.Migration.ConsoleApp.csproj b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.ConsoleApp/LearningHub.Nhs.Migration.ConsoleApp.csproj
index 539697d49..f59f836ec 100644
--- a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.ConsoleApp/LearningHub.Nhs.Migration.ConsoleApp.csproj
+++ b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.ConsoleApp/LearningHub.Nhs.Migration.ConsoleApp.csproj
@@ -24,7 +24,7 @@
-
+
all
diff --git a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Interface/LearningHub.Nhs.Migration.Interface.csproj b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Interface/LearningHub.Nhs.Migration.Interface.csproj
index eb924766b..306bfba43 100644
--- a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Interface/LearningHub.Nhs.Migration.Interface.csproj
+++ b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Interface/LearningHub.Nhs.Migration.Interface.csproj
@@ -9,7 +9,7 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Models/LearningHub.Nhs.Migration.Models.csproj b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Models/LearningHub.Nhs.Migration.Models.csproj
index 6f4c807b7..fe0eec05d 100644
--- a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Models/LearningHub.Nhs.Migration.Models.csproj
+++ b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Models/LearningHub.Nhs.Migration.Models.csproj
@@ -10,7 +10,7 @@
-
+
all
diff --git a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Staging.Repository/LearningHub.Nhs.Migration.Staging.Repository.csproj b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Staging.Repository/LearningHub.Nhs.Migration.Staging.Repository.csproj
index df5c3c6c3..5a85cff3e 100644
--- a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Staging.Repository/LearningHub.Nhs.Migration.Staging.Repository.csproj
+++ b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.Staging.Repository/LearningHub.Nhs.Migration.Staging.Repository.csproj
@@ -9,7 +9,7 @@
-
+
diff --git a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.UnitTests/LearningHub.Nhs.Migration.UnitTests.csproj b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.UnitTests/LearningHub.Nhs.Migration.UnitTests.csproj
index 16a31717c..c167e11e4 100644
--- a/WebAPI/MigrationTool/LearningHub.Nhs.Migration.UnitTests/LearningHub.Nhs.Migration.UnitTests.csproj
+++ b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.UnitTests/LearningHub.Nhs.Migration.UnitTests.csproj
@@ -10,7 +10,7 @@
-
+
diff --git a/WebAPI/MigrationTool/LearningHub.Nhs.Migration/LearningHub.Nhs.Migration.csproj b/WebAPI/MigrationTool/LearningHub.Nhs.Migration/LearningHub.Nhs.Migration.csproj
index 440ec325e..6c31da645 100644
--- a/WebAPI/MigrationTool/LearningHub.Nhs.Migration/LearningHub.Nhs.Migration.csproj
+++ b/WebAPI/MigrationTool/LearningHub.Nhs.Migration/LearningHub.Nhs.Migration.csproj
@@ -12,7 +12,7 @@
-
+
all
runtime; build; native; contentfiles; analyzers; buildtransitive