diff --git a/AdminUI/LearningHub.Nhs.AdminUI/LearningHub.Nhs.AdminUI.csproj b/AdminUI/LearningHub.Nhs.AdminUI/LearningHub.Nhs.AdminUI.csproj
index 1894250b..1e0cbbb2 100644
--- a/AdminUI/LearningHub.Nhs.AdminUI/LearningHub.Nhs.AdminUI.csproj
+++ b/AdminUI/LearningHub.Nhs.AdminUI/LearningHub.Nhs.AdminUI.csproj
@@ -89,7 +89,7 @@
-
+
diff --git a/LearningHub.Nhs.WebUI.AutomatedUiTests/LearningHub.Nhs.WebUI.AutomatedUiTests.csproj b/LearningHub.Nhs.WebUI.AutomatedUiTests/LearningHub.Nhs.WebUI.AutomatedUiTests.csproj
index e97e68a3..34a9455d 100644
--- a/LearningHub.Nhs.WebUI.AutomatedUiTests/LearningHub.Nhs.WebUI.AutomatedUiTests.csproj
+++ b/LearningHub.Nhs.WebUI.AutomatedUiTests/LearningHub.Nhs.WebUI.AutomatedUiTests.csproj
@@ -13,7 +13,7 @@
-
+
diff --git a/LearningHub.Nhs.WebUI/Controllers/MyAccountController.cs b/LearningHub.Nhs.WebUI/Controllers/MyAccountController.cs
index bb24c03f..13dcd7e2 100644
--- a/LearningHub.Nhs.WebUI/Controllers/MyAccountController.cs
+++ b/LearningHub.Nhs.WebUI/Controllers/MyAccountController.cs
@@ -11,6 +11,7 @@
using GDS.MultiPageFormData;
using GDS.MultiPageFormData.Enums;
using LearningHub.Nhs.Caching;
+ using LearningHub.Nhs.Models.User;
using LearningHub.Nhs.WebUI.Configuration;
using LearningHub.Nhs.WebUI.Helpers;
using LearningHub.Nhs.WebUI.Interfaces;
@@ -97,6 +98,7 @@ public MyAccountController(
this.multiPageFormService = multiPageFormService;
this.cacheService = cacheService;
this.configuration = configuration;
+ this.moodleBridgeApiService = moodleBridgeApiService;
}
private string LoginWizardCacheKey => $"{this.CurrentUserId}:LoginWizard";
@@ -1497,12 +1499,18 @@ public async Task ConfirmEmail(string token, string loctoken)
var validationResult = await this.userService.ValidateEmailChangeTokenAsync(token, loctoken, isUserRoleUpgrade);
EmailChangeValidateViewModel model = new EmailChangeValidateViewModel();
+ UpdateEmailaddressViewModel emailModel = new UpdateEmailaddressViewModel()
+ {
+ OldEmail = user.EmailAddress,
+ NewEmail = validationResult.Email,
+ };
if (validationResult.Valid)
{
if (isUserRoleUpgrade)
{
await this.userService.UpgradeAsFullAccessUserAsync(validationResult.UserId, validationResult.Email);
+ await this.moodleBridgeApiService.UpdateEmail(emailModel);
this.ViewBag.SuccessMessage = CommonValidationErrorMessages.EmailConfirmSucessMessage;
model.Token = token;
model.Loctoken = loctoken;
@@ -1511,6 +1519,7 @@ public async Task ConfirmEmail(string token, string loctoken)
else
{
await this.userService.UpdateUserPrimaryEmailAsync(validationResult.Email);
+ await this.moodleBridgeApiService.UpdateEmail(emailModel);
// Add UserHistory entry
UserHistoryViewModel userHistory = new UserHistoryViewModel()
diff --git a/LearningHub.Nhs.WebUI/Interfaces/IMoodleBridgeApiService.cs b/LearningHub.Nhs.WebUI/Interfaces/IMoodleBridgeApiService.cs
index e316bbf8..87cb49cf 100644
--- a/LearningHub.Nhs.WebUI/Interfaces/IMoodleBridgeApiService.cs
+++ b/LearningHub.Nhs.WebUI/Interfaces/IMoodleBridgeApiService.cs
@@ -4,6 +4,7 @@
using System.Threading.Tasks;
using LearningHub.Nhs.Models.Moodle;
using LearningHub.Nhs.Models.Moodle.API;
+ using LearningHub.Nhs.Models.User;
using LearningHub.Nhs.WebUI.Models;
using MoodleCourseCompletionModel = LearningHub.Nhs.Models.Moodle.API.MoodleCourseCompletionModel;
@@ -18,5 +19,12 @@ public interface IMoodleBridgeApiService
/// The email.
/// A representing the result of the asynchronous operation.
Task GetUserInstancesByEmail(string email);
+
+ ///
+ /// UpdateEmail.
+ ///
+ /// The updateEmailaddressViewModel.
+ /// A representing the result of the asynchronous operation.
+ Task UpdateEmail(UpdateEmailaddressViewModel updateEmailaddressViewModel);
}
}
diff --git a/LearningHub.Nhs.WebUI/LearningHub.Nhs.WebUI.csproj b/LearningHub.Nhs.WebUI/LearningHub.Nhs.WebUI.csproj
index e3155ea6..9e1f484c 100644
--- a/LearningHub.Nhs.WebUI/LearningHub.Nhs.WebUI.csproj
+++ b/LearningHub.Nhs.WebUI/LearningHub.Nhs.WebUI.csproj
@@ -112,7 +112,7 @@
-
+
diff --git a/LearningHub.Nhs.WebUI/Services/MoodleBridgeApiService.cs b/LearningHub.Nhs.WebUI/Services/MoodleBridgeApiService.cs
index f00592e0..6cd57f10 100644
--- a/LearningHub.Nhs.WebUI/Services/MoodleBridgeApiService.cs
+++ b/LearningHub.Nhs.WebUI/Services/MoodleBridgeApiService.cs
@@ -2,10 +2,12 @@
{
using System;
using System.Collections.Generic;
+ using System.Net.Http.Json;
using System.Text.Json;
using System.Threading.Tasks;
using LearningHub.Nhs.Models.Moodle;
using LearningHub.Nhs.Models.Moodle.API;
+ using LearningHub.Nhs.Models.User;
using LearningHub.Nhs.WebUI.Configuration;
using LearningHub.Nhs.WebUI.Interfaces;
using LearningHub.Nhs.WebUI.Models;
@@ -63,5 +65,45 @@ public async Task GetUserInstancesByEmail(string
return viewmodel;
}
}
+
+ ///
+ /// UpdateEmail.
+ ///
+ /// The updateEmailaddressViewModel.
+ /// email update status.
+ public async Task UpdateEmail(UpdateEmailaddressViewModel updateEmailaddressViewModel)
+ {
+ try
+ {
+ var client = await this.openApiHttpClient.GetClientAsync();
+
+ var requestUrl = "MoodleBridge/UpdateEmail";
+
+ var response = await client.PostAsJsonAsync(requestUrl, updateEmailaddressViewModel)
+ .ConfigureAwait(false);
+
+ if (response.IsSuccessStatusCode)
+ {
+ var viewModel = await response.Content
+ .ReadFromJsonAsync();
+
+ return viewModel;
+ }
+ else if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized ||
+ response.StatusCode == System.Net.HttpStatusCode.Forbidden)
+ {
+ throw new Exception("AccessDenied");
+ }
+ else
+ {
+ var errorContent = await response.Content.ReadAsStringAsync();
+ throw new Exception($"API Error: {response.StatusCode}, Details: {errorContent}");
+ }
+ }
+ catch (Exception ex)
+ {
+ throw new Exception("Failed to update user email on moodle instances");
+ }
+ }
}
}
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 90116952..f93a18aa 100644
--- a/OpenAPI/LearningHub.Nhs.OpenApi.Models/LearningHub.Nhs.OpenApi.Models.csproj
+++ b/OpenAPI/LearningHub.Nhs.OpenApi.Models/LearningHub.Nhs.OpenApi.Models.csproj
@@ -17,7 +17,7 @@
-
+
diff --git a/OpenAPI/LearningHub.Nhs.OpenApi.Repositories.Interface/LearningHub.Nhs.OpenApi.Repositories.Interface.csproj b/OpenAPI/LearningHub.Nhs.OpenApi.Repositories.Interface/LearningHub.Nhs.OpenApi.Repositories.Interface.csproj
index 26f2cda9..043795e8 100644
--- a/OpenAPI/LearningHub.Nhs.OpenApi.Repositories.Interface/LearningHub.Nhs.OpenApi.Repositories.Interface.csproj
+++ b/OpenAPI/LearningHub.Nhs.OpenApi.Repositories.Interface/LearningHub.Nhs.OpenApi.Repositories.Interface.csproj
@@ -17,7 +17,7 @@
-
+
diff --git a/OpenAPI/LearningHub.Nhs.OpenApi.Repositories/LearningHub.Nhs.OpenApi.Repositories.csproj b/OpenAPI/LearningHub.Nhs.OpenApi.Repositories/LearningHub.Nhs.OpenApi.Repositories.csproj
index 5bb10cb7..29d8422f 100644
--- a/OpenAPI/LearningHub.Nhs.OpenApi.Repositories/LearningHub.Nhs.OpenApi.Repositories.csproj
+++ b/OpenAPI/LearningHub.Nhs.OpenApi.Repositories/LearningHub.Nhs.OpenApi.Repositories.csproj
@@ -24,7 +24,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 30fb32a5..4f122754 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
@@ -17,7 +17,7 @@
-
+
diff --git a/OpenAPI/LearningHub.Nhs.OpenApi.Services.Interface/Services/IMoodleBridgeApiService.cs b/OpenAPI/LearningHub.Nhs.OpenApi.Services.Interface/Services/IMoodleBridgeApiService.cs
index a3aa57b0..3bd55103 100644
--- a/OpenAPI/LearningHub.Nhs.OpenApi.Services.Interface/Services/IMoodleBridgeApiService.cs
+++ b/OpenAPI/LearningHub.Nhs.OpenApi.Services.Interface/Services/IMoodleBridgeApiService.cs
@@ -4,6 +4,7 @@
using LearningHub.Nhs.Models.Moodle;
using LearningHub.Nhs.Models.Moodle.API;
using LearningHub.Nhs.Models.MyLearning;
+using LearningHub.Nhs.Models.User;
namespace LearningHub.Nhs.OpenApi.Services.Interface.Services
{
@@ -19,6 +20,13 @@ public interface IMoodleBridgeApiService
/// A representing the result of the asynchronous operation.
Task GetUserInstancesByEmail(string email);
+ ///
+ /// UpdateEmail.
+ ///
+ /// TheupdateEmailaddressViewModel.
+ ///
+ Task UpdateEmail(UpdateEmailaddressViewModel updateEmailaddressViewModel);
+
///
/// GetRecentEnrolledCoursesAsync.
///
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 0faf9ca4..291dbe78 100644
--- a/OpenAPI/LearningHub.Nhs.OpenApi.Services/LearningHub.Nhs.OpenApi.Services.csproj
+++ b/OpenAPI/LearningHub.Nhs.OpenApi.Services/LearningHub.Nhs.OpenApi.Services.csproj
@@ -31,7 +31,7 @@
-
+
diff --git a/OpenAPI/LearningHub.Nhs.OpenApi.Services/Services/MoodleBridgeApiService.cs b/OpenAPI/LearningHub.Nhs.OpenApi.Services/Services/MoodleBridgeApiService.cs
index 57fab7f8..80dd7617 100644
--- a/OpenAPI/LearningHub.Nhs.OpenApi.Services/Services/MoodleBridgeApiService.cs
+++ b/OpenAPI/LearningHub.Nhs.OpenApi.Services/Services/MoodleBridgeApiService.cs
@@ -21,6 +21,7 @@
using static System.Net.WebRequestMethods;
using IdentityModel.Client;
using static Microsoft.EntityFrameworkCore.DbLoggerCategory;
+ using LearningHub.Nhs.Models.User;
///
/// MoodleBridgeApiService.
@@ -84,7 +85,54 @@ public async Task GetUserInstancesByEmail(string
catch (Exception ex)
{
this.logger.LogError(ex, "An error occurred while fetching user instances by email.");
- throw;
+ throw;
+ }
+ }
+
+ ///
+ /// UpdateEmail.
+ ///
+ /// The UpdateEmailaddressViewModel.
+ ///
+ public async Task UpdateEmail(UpdateEmailaddressViewModel updateEmailaddressViewModel)
+ {
+ try
+ {
+ var client = await this.moodleBridgeHttpClient.GetClient();
+
+ var requestUrl = "/api/v1/Users/update-email";
+
+ var options = new JsonSerializerOptions
+ {
+ PropertyNameCaseInsensitive = true
+ };
+
+ var response = await client.PostAsJsonAsync(requestUrl, updateEmailaddressViewModel)
+ .ConfigureAwait(false);
+
+ if (response.IsSuccessStatusCode)
+ {
+ var result = await response.Content.ReadAsStringAsync();
+
+ var viewModel = System.Text.Json.JsonSerializer.Deserialize(result, options);
+
+ return viewModel;
+ }
+ else if (response.StatusCode == System.Net.HttpStatusCode.Unauthorized ||
+ response.StatusCode == System.Net.HttpStatusCode.Forbidden)
+ {
+ throw new Exception("AccessDenied");
+ }
+ else
+ {
+ var errorContent = await response.Content.ReadAsStringAsync();
+ throw new Exception($"API Error: {response.StatusCode}, Details: {errorContent}");
+ }
+ }
+ catch (Exception ex)
+ {
+ this.logger.LogError(ex, "An error occurred while updating email.");
+ throw;
}
}
@@ -168,7 +216,7 @@ public async Task GetRecentEnrolledCoursesAsy
catch (Exception ex)
{
this.logger.LogError(ex, "An error occurred while fetching user's recent learning activities ");
- throw;
+ throw;
}
}
@@ -333,7 +381,7 @@ public async Task GetUserCertificateAsync(string
{
queryParams.Add($"searchterm={Uri.EscapeDataString(filterText)}");
}
-
+
var queryString = queryParams.Any()
? "?" + string.Join("&", queryParams)
: string.Empty;
@@ -468,7 +516,7 @@ public async Task> GetAllMoodleCategoriesAsync()
catch (Exception ex)
{
this.logger.LogError(ex, "An error occurred while fetching user instances by email.");
- throw;
+ throw;
}
}
@@ -553,7 +601,7 @@ public async Task> GetSubCategoryByCategoryIdAsync(strin
catch (Exception ex)
{
this.logger.LogError(ex, "An error occurred while fetching sub categories by category id.");
- throw;
+ throw;
}
}
}
diff --git a/OpenAPI/LearningHub.Nhs.OpenApi.Tests/LearningHub.Nhs.OpenApi.Tests.csproj b/OpenAPI/LearningHub.Nhs.OpenApi.Tests/LearningHub.Nhs.OpenApi.Tests.csproj
index d4f07f59..f4251a23 100644
--- a/OpenAPI/LearningHub.Nhs.OpenApi.Tests/LearningHub.Nhs.OpenApi.Tests.csproj
+++ b/OpenAPI/LearningHub.Nhs.OpenApi.Tests/LearningHub.Nhs.OpenApi.Tests.csproj
@@ -11,7 +11,7 @@
-
+
diff --git a/OpenAPI/LearningHub.Nhs.OpenApi/Controllers/MoodleBridgeController.cs b/OpenAPI/LearningHub.Nhs.OpenApi/Controllers/MoodleBridgeController.cs
index f7a0e11d..5f8b6777 100644
--- a/OpenAPI/LearningHub.Nhs.OpenApi/Controllers/MoodleBridgeController.cs
+++ b/OpenAPI/LearningHub.Nhs.OpenApi/Controllers/MoodleBridgeController.cs
@@ -4,6 +4,7 @@
using Microsoft.AspNetCore.Mvc;
using System.Threading.Tasks;
using LearningHub.Nhs.OpenApi.Services.Interface.Services;
+ using LearningHub.Nhs.Models.User;
///
/// Moodle Bridge operations.
@@ -37,6 +38,19 @@ public async Task GetUserInstancesByEmail(string email)
return this.Ok(moodleUser);
}
+ ///
+ /// The GetMoodle Instances UserIds.
+ ///
+ /// The LH user email.
+ /// The .
+ [HttpPost]
+ [Route("UpdateEmail")]
+ public async Task UpdateEmail([FromBody] UpdateEmailaddressViewModel updateEmailaddressViewModel)
+ {
+ var emailUpdateResponse = await this.moodleBridgeApiService.UpdateEmail(updateEmailaddressViewModel);
+ return this.Ok(emailUpdateResponse);
+ }
+
///
/// GetAllMoodleCategoriesAsync.
///
diff --git a/OpenAPI/LearningHub.Nhs.OpenApi/LearningHub.NHS.OpenAPI.csproj b/OpenAPI/LearningHub.Nhs.OpenApi/LearningHub.NHS.OpenAPI.csproj
index 67b1a634..b4bfab38 100644
--- a/OpenAPI/LearningHub.Nhs.OpenApi/LearningHub.NHS.OpenAPI.csproj
+++ b/OpenAPI/LearningHub.Nhs.OpenApi/LearningHub.NHS.OpenAPI.csproj
@@ -19,7 +19,7 @@
-
+
diff --git a/ReportAPI/LearningHub.Nhs.ReportApi.Services.Interface/LearningHub.Nhs.ReportApi.Services.Interface.csproj b/ReportAPI/LearningHub.Nhs.ReportApi.Services.Interface/LearningHub.Nhs.ReportApi.Services.Interface.csproj
index c4ab810b..96ff6ae1 100644
--- a/ReportAPI/LearningHub.Nhs.ReportApi.Services.Interface/LearningHub.Nhs.ReportApi.Services.Interface.csproj
+++ b/ReportAPI/LearningHub.Nhs.ReportApi.Services.Interface/LearningHub.Nhs.ReportApi.Services.Interface.csproj
@@ -16,7 +16,7 @@
-
+
diff --git a/ReportAPI/LearningHub.Nhs.ReportApi.Services.UnitTests/LearningHub.Nhs.ReportApi.Services.UnitTests.csproj b/ReportAPI/LearningHub.Nhs.ReportApi.Services.UnitTests/LearningHub.Nhs.ReportApi.Services.UnitTests.csproj
index eb8f7e4a..70e3e863 100644
--- a/ReportAPI/LearningHub.Nhs.ReportApi.Services.UnitTests/LearningHub.Nhs.ReportApi.Services.UnitTests.csproj
+++ b/ReportAPI/LearningHub.Nhs.ReportApi.Services.UnitTests/LearningHub.Nhs.ReportApi.Services.UnitTests.csproj
@@ -18,7 +18,7 @@
-
+
diff --git a/ReportAPI/LearningHub.Nhs.ReportApi.Services/LearningHub.Nhs.ReportApi.Services.csproj b/ReportAPI/LearningHub.Nhs.ReportApi.Services/LearningHub.Nhs.ReportApi.Services.csproj
index 8d6b949b..c4944deb 100644
--- a/ReportAPI/LearningHub.Nhs.ReportApi.Services/LearningHub.Nhs.ReportApi.Services.csproj
+++ b/ReportAPI/LearningHub.Nhs.ReportApi.Services/LearningHub.Nhs.ReportApi.Services.csproj
@@ -19,7 +19,7 @@
-
+
diff --git a/ReportAPI/LearningHub.Nhs.ReportApi.Shared/LearningHub.Nhs.ReportApi.Shared.csproj b/ReportAPI/LearningHub.Nhs.ReportApi.Shared/LearningHub.Nhs.ReportApi.Shared.csproj
index de33549b..d02c4488 100644
--- a/ReportAPI/LearningHub.Nhs.ReportApi.Shared/LearningHub.Nhs.ReportApi.Shared.csproj
+++ b/ReportAPI/LearningHub.Nhs.ReportApi.Shared/LearningHub.Nhs.ReportApi.Shared.csproj
@@ -17,7 +17,7 @@
-
+
diff --git a/ReportAPI/LearningHub.Nhs.ReportApi/LearningHub.Nhs.ReportApi.csproj b/ReportAPI/LearningHub.Nhs.ReportApi/LearningHub.Nhs.ReportApi.csproj
index 291929c1..5ad3e0d5 100644
--- a/ReportAPI/LearningHub.Nhs.ReportApi/LearningHub.Nhs.ReportApi.csproj
+++ b/ReportAPI/LearningHub.Nhs.ReportApi/LearningHub.Nhs.ReportApi.csproj
@@ -20,7 +20,7 @@
-
+
diff --git a/WebAPI/LearningHub.Nhs.API/LearningHub.Nhs.Api.csproj b/WebAPI/LearningHub.Nhs.API/LearningHub.Nhs.Api.csproj
index b04f35ac..ce240b56 100644
--- a/WebAPI/LearningHub.Nhs.API/LearningHub.Nhs.Api.csproj
+++ b/WebAPI/LearningHub.Nhs.API/LearningHub.Nhs.Api.csproj
@@ -29,7 +29,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 4255bc9d..12b01920 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 9d001e01..70c6f8f9 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.Repository.Interface/LearningHub.Nhs.Repository.Interface.csproj b/WebAPI/LearningHub.Nhs.Repository.Interface/LearningHub.Nhs.Repository.Interface.csproj
index 0e845345..0ff75161 100644
--- a/WebAPI/LearningHub.Nhs.Repository.Interface/LearningHub.Nhs.Repository.Interface.csproj
+++ b/WebAPI/LearningHub.Nhs.Repository.Interface/LearningHub.Nhs.Repository.Interface.csproj
@@ -10,7 +10,7 @@
-
+
diff --git a/WebAPI/LearningHub.Nhs.Repository/LearningHub.Nhs.Repository.csproj b/WebAPI/LearningHub.Nhs.Repository/LearningHub.Nhs.Repository.csproj
index 386a3669..b206c981 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.Services.Interface/LearningHub.Nhs.Services.Interface.csproj b/WebAPI/LearningHub.Nhs.Services.Interface/LearningHub.Nhs.Services.Interface.csproj
index f54a7b09..31ce5eb5 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 8b77a79f..a91b6e0b 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 c01c4460..c44ed1fd 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/MigrationTool/LearningHub.Nhs.Migration.ConsoleApp/LearningHub.Nhs.Migration.ConsoleApp.csproj b/WebAPI/MigrationTool/LearningHub.Nhs.Migration.ConsoleApp/LearningHub.Nhs.Migration.ConsoleApp.csproj
index e5abf6ea..a4046694 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
@@ -25,7 +25,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 39fab187..c2ac38a2 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 b91543ad..a10f69fd 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 f029a564..ba2b9fc1 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 a003bd00..d555f0d1 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 01c107bf..c00e268d 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