From 71afd515286f5cba323218e89e0431def4785aa3 Mon Sep 17 00:00:00 2001 From: Corey Faulconbridge Date: Tue, 17 Mar 2026 16:27:37 +0000 Subject: [PATCH 1/3] tidy --- .../Apprentice/DetailsViewModelMapper.cs | 379 +++++++++--------- 1 file changed, 189 insertions(+), 190 deletions(-) diff --git a/src/SFA.DAS.ProviderCommitments/SFA.DAS.ProviderCommitments.Web/Mappers/Apprentice/DetailsViewModelMapper.cs b/src/SFA.DAS.ProviderCommitments/SFA.DAS.ProviderCommitments.Web/Mappers/Apprentice/DetailsViewModelMapper.cs index c8bb573af..af151448f 100644 --- a/src/SFA.DAS.ProviderCommitments/SFA.DAS.ProviderCommitments.Web/Mappers/Apprentice/DetailsViewModelMapper.cs +++ b/src/SFA.DAS.ProviderCommitments/SFA.DAS.ProviderCommitments.Web/Mappers/Apprentice/DetailsViewModelMapper.cs @@ -11,230 +11,229 @@ using Azure; using SFA.DAS.Apprenticeships.Types; -namespace SFA.DAS.ProviderCommitments.Web.Mappers.Apprentice +namespace SFA.DAS.ProviderCommitments.Web.Mappers.Apprentice; + +public class DetailsViewModelMapper : IMapper { - public class DetailsViewModelMapper : IMapper + private readonly ICommitmentsApiClient _commitmentApiClient; + private readonly IEncodingService _encodingService; + private readonly IOuterApiClient _apiClient; + private readonly ILogger _logger; + + public DetailsViewModelMapper(ICommitmentsApiClient commitmentApiClient, IEncodingService encodingService, IOuterApiClient apiClient, + ILogger logger) { - private readonly ICommitmentsApiClient _commitmentApiClient; - private readonly IEncodingService _encodingService; - private readonly IOuterApiClient _apiClient; - private readonly ILogger _logger; + _commitmentApiClient = commitmentApiClient; + _encodingService = encodingService; + _apiClient = apiClient; + _logger = logger; + } - public DetailsViewModelMapper(ICommitmentsApiClient commitmentApiClient, IEncodingService encodingService, IOuterApiClient apiClient, - ILogger logger) + public async Task Map(DetailsRequest source) + { + try + { + var data = await GetApprenticeshipData(source.ApprenticeshipId, source.ProviderId); + var hasProviderUpdates = data.ApprenticeshipUpdates.Any(x => x.OriginatingParty == Party.Provider); + var hasEmployerUpdates = data.ApprenticeshipUpdates.Any(x => x.OriginatingParty == Party.Employer); + + var dataLockSummaryStatus = data.DataLocks.GetDataLockSummaryStatus(); + + var allowEditApprentice = + (data.Apprenticeship.Status == ApprenticeshipStatus.Live || + data.Apprenticeship.Status == ApprenticeshipStatus.WaitingToStart || + data.Apprenticeship.Status == ApprenticeshipStatus.Paused) && + !hasProviderUpdates && + !hasEmployerUpdates && + dataLockSummaryStatus == DetailsViewModel.DataLockSummaryStatus.None; + + // If It's completed or stopped and option is null, dont show options as it could predate standard versioning + // even if the version has options + var apprenticeshipStopped = data.Apprenticeship.Status == ApprenticeshipStatus.Completed || data.Apprenticeship.Status == ApprenticeshipStatus.Stopped; + var preDateStandardVersioning = apprenticeshipStopped && data.Apprenticeship.Option == null; + var (singleOption, hasOptions) = await HasOptions(data.Apprenticeship.StandardUId); + var showOptions = hasOptions && !preDateStandardVersioning; + + var pendingChangeOfPartyRequest = data.ChangeOfPartyRequests.SingleOrDefault(x => + x.OriginatingParty == Party.Provider && x.Status == ChangeOfPartyRequestStatus.Pending); + + var pendingOverlappingTrainingDate = data.OverlappingTrainingDateRequest.SingleOrDefault(x => + x.Status == OverlappingTrainingDateRequestStatus.Pending); + + return new DetailsViewModel + { + ProviderId = source.ProviderId, + ApprenticeshipHashedId = source.ApprenticeshipHashedId, + ApprenticeName = $"{data.Apprenticeship.FirstName} {data.Apprenticeship.LastName}", + Email = data.Apprenticeship.Email, + Employer = data.Apprenticeship.EmployerName, + Reference = _encodingService.Encode(data.Apprenticeship.CohortId, EncodingType.CohortReference), + Status = data.Apprenticeship.Status, + ConfirmationStatus = data.Apprenticeship.ConfirmationStatus, + StopDate = data.Apprenticeship.StopDate, + AgreementId = _encodingService.Encode(data.Apprenticeship.AccountLegalEntityId, EncodingType.PublicAccountLegalEntityId), + DateOfBirth = data.Apprenticeship.DateOfBirth, + Uln = data.Apprenticeship.Uln, + CourseName = data.Apprenticeship.CourseName, + Version = data.Apprenticeship.Version, + Option = data.Apprenticeship.Option, + StartDate = data.Apprenticeship.StartDate, + ActualStartDate = data.Apprenticeship.ActualStartDate, + EndDate = data.Apprenticeship.EndDate, + ProviderRef = data.Apprenticeship.ProviderReference, + Cost = data.PriceEpisodes.GetCost(), + TrainingPrice = data.PriceEpisodes.GetTrainingPrice(), + EndPointAssessmentPrice = data.PriceEpisodes.GetEndPointAssessmentPrice(), + AllowEditApprentice = allowEditApprentice, + HasProviderPendingUpdate = hasProviderUpdates, + HasEmployerPendingUpdate = hasEmployerUpdates, + DataLockStatus = dataLockSummaryStatus, + AvailableTriageOption = CalcTriageStatus(data.Apprenticeship.HasHadDataLockSuccess, data.DataLocks), + PauseDate = data.Apprenticeship.PauseDate, + CompletionDate = data.Apprenticeship.CompletionDate, + HasPendingChangeOfPartyRequest = pendingChangeOfPartyRequest != null, + HasPendingOverlappingTrainingDateRequest = pendingOverlappingTrainingDate != null, + PendingChangeOfPartyRequestWithParty = pendingChangeOfPartyRequest?.WithParty, + HasContinuation = data.Apprenticeship.HasContinuation, + ShowChangeVersionLink = await HasNewerVersions(data.Apprenticeship), + HasOptions = showOptions, + SingleOption = singleOption, + EmployerHistory = data.ChangeOfEmployerChain? + .Select(coe => new EmployerHistory + { + EmployerName = coe.EmployerName, + FromDate = coe.StartDate.Value, + ToDate = coe.StopDate.HasValue ? coe.StopDate.Value : coe.EndDate.Value, + HashedApprenticeshipId = _encodingService.Encode(coe.ApprenticeshipId, EncodingType.ApprenticeshipId), + ShowLink = source.ApprenticeshipId != coe.ApprenticeshipId + }).ToList(), + EmailShouldBePresent = data.Apprenticeship.EmailShouldBePresent, + EmailAddressConfirmedByApprentice = data.Apprenticeship.EmailAddressConfirmedByApprentice, + DeliveryModel = data.Apprenticeship.DeliveryModel, + EmploymentEndDate = data.Apprenticeship.EmploymentEndDate, + EmploymentPrice = data.Apprenticeship.EmploymentPrice, + RecognisePriorLearning = data.Apprenticeship.RecognisePriorLearning, + TrainingTotalHours = data.Apprenticeship.TrainingTotalHours, + DurationReducedByHours = data.Apprenticeship.DurationReducedByHours, + DurationReducedBy = data.Apprenticeship.DurationReducedBy, + PriceReducedBy = data.Apprenticeship.PriceReducedBy, + HasMultipleDeliveryModelOptions = data.HasMultipleDeliveryModelOptions, + PendingPriceChange = Map(data.PendingPriceChange), + PendingStartDateChange = MapPendingStartDateChange(data.PendingStartDateChange), + CanActualStartDateBeChanged = data.CanActualStartDateBeChanged, + PaymentStatus = Map(data), + LearnerStatus = data.LearnerStatusDetails.LearnerStatus, + WithdrawalChangedDate = data.LearnerStatusDetails.WithdrawalChangedDate, + LastCensusDateOfLearning = data.LearnerStatusDetails.LastCensusDateOfLearning, + LastDayOfLearning = data.LearnerStatusDetails.LastDayOfLearning + }; + } + catch (Exception e) { - _commitmentApiClient = commitmentApiClient; - _encodingService = encodingService; - _apiClient = apiClient; - _logger = logger; + _logger.LogError(e, $"Error mapping apprenticeship {source.ApprenticeshipId} to DetailsViewModel"); + throw; } + } - public async Task Map(DetailsRequest source) + private static PendingPriceChange Map(GetManageApprenticeshipDetailsResponse.PendingPriceChangeDetails priceChangeDetails) + { + if (priceChangeDetails == null) { - try - { - var data = await GetApprenticeshipData(source.ApprenticeshipId, source.ProviderId); - var hasProviderUpdates = data.ApprenticeshipUpdates.Any(x => x.OriginatingParty == Party.Provider); - var hasEmployerUpdates = data.ApprenticeshipUpdates.Any(x => x.OriginatingParty == Party.Employer); - - var dataLockSummaryStatus = data.DataLocks.GetDataLockSummaryStatus(); - - var allowEditApprentice = - (data.Apprenticeship.Status == ApprenticeshipStatus.Live || - data.Apprenticeship.Status == ApprenticeshipStatus.WaitingToStart || - data.Apprenticeship.Status == ApprenticeshipStatus.Paused) && - !hasProviderUpdates && - !hasEmployerUpdates && - dataLockSummaryStatus == DetailsViewModel.DataLockSummaryStatus.None; - - // If It's completed or stopped and option is null, dont show options as it could predate standard versioning - // even if the version has options - var apprenticeshipStopped = data.Apprenticeship.Status == ApprenticeshipStatus.Completed || data.Apprenticeship.Status == ApprenticeshipStatus.Stopped; - var preDateStandardVersioning = apprenticeshipStopped && data.Apprenticeship.Option == null; - var (singleOption, hasOptions) = await HasOptions(data.Apprenticeship.StandardUId); - var showOptions = hasOptions && !preDateStandardVersioning; - - var pendingChangeOfPartyRequest = data.ChangeOfPartyRequests.SingleOrDefault(x => - x.OriginatingParty == Party.Provider && x.Status == ChangeOfPartyRequestStatus.Pending); - - var pendingOverlappingTrainingDate = data.OverlappingTrainingDateRequest.SingleOrDefault(x => - x.Status == OverlappingTrainingDateRequestStatus.Pending); - - return new DetailsViewModel - { - ProviderId = source.ProviderId, - ApprenticeshipHashedId = source.ApprenticeshipHashedId, - ApprenticeName = $"{data.Apprenticeship.FirstName} {data.Apprenticeship.LastName}", - Email = data.Apprenticeship.Email, - Employer = data.Apprenticeship.EmployerName, - Reference = _encodingService.Encode(data.Apprenticeship.CohortId, EncodingType.CohortReference), - Status = data.Apprenticeship.Status, - ConfirmationStatus = data.Apprenticeship.ConfirmationStatus, - StopDate = data.Apprenticeship.StopDate, - AgreementId = _encodingService.Encode(data.Apprenticeship.AccountLegalEntityId, EncodingType.PublicAccountLegalEntityId), - DateOfBirth = data.Apprenticeship.DateOfBirth, - Uln = data.Apprenticeship.Uln, - CourseName = data.Apprenticeship.CourseName, - Version = data.Apprenticeship.Version, - Option = data.Apprenticeship.Option, - StartDate = data.Apprenticeship.StartDate, - ActualStartDate = data.Apprenticeship.ActualStartDate, - EndDate = data.Apprenticeship.EndDate, - ProviderRef = data.Apprenticeship.ProviderReference, - Cost = data.PriceEpisodes.GetCost(), - TrainingPrice = data.PriceEpisodes.GetTrainingPrice(), - EndPointAssessmentPrice = data.PriceEpisodes.GetEndPointAssessmentPrice(), - AllowEditApprentice = allowEditApprentice, - HasProviderPendingUpdate = hasProviderUpdates, - HasEmployerPendingUpdate = hasEmployerUpdates, - DataLockStatus = dataLockSummaryStatus, - AvailableTriageOption = CalcTriageStatus(data.Apprenticeship.HasHadDataLockSuccess, data.DataLocks), - PauseDate = data.Apprenticeship.PauseDate, - CompletionDate = data.Apprenticeship.CompletionDate, - HasPendingChangeOfPartyRequest = pendingChangeOfPartyRequest != null, - HasPendingOverlappingTrainingDateRequest = pendingOverlappingTrainingDate != null, - PendingChangeOfPartyRequestWithParty = pendingChangeOfPartyRequest?.WithParty, - HasContinuation = data.Apprenticeship.HasContinuation, - ShowChangeVersionLink = await HasNewerVersions(data.Apprenticeship), - HasOptions = showOptions, - SingleOption = singleOption, - EmployerHistory = data.ChangeOfEmployerChain? - .Select(coe => new EmployerHistory - { - EmployerName = coe.EmployerName, - FromDate = coe.StartDate.Value, - ToDate = coe.StopDate.HasValue ? coe.StopDate.Value : coe.EndDate.Value, - HashedApprenticeshipId = _encodingService.Encode(coe.ApprenticeshipId, EncodingType.ApprenticeshipId), - ShowLink = source.ApprenticeshipId != coe.ApprenticeshipId - }).ToList(), - EmailShouldBePresent = data.Apprenticeship.EmailShouldBePresent, - EmailAddressConfirmedByApprentice = data.Apprenticeship.EmailAddressConfirmedByApprentice, - DeliveryModel = data.Apprenticeship.DeliveryModel, - EmploymentEndDate = data.Apprenticeship.EmploymentEndDate, - EmploymentPrice = data.Apprenticeship.EmploymentPrice, - RecognisePriorLearning = data.Apprenticeship.RecognisePriorLearning, - TrainingTotalHours = data.Apprenticeship.TrainingTotalHours, - DurationReducedByHours = data.Apprenticeship.DurationReducedByHours, - DurationReducedBy = data.Apprenticeship.DurationReducedBy, - PriceReducedBy = data.Apprenticeship.PriceReducedBy, - HasMultipleDeliveryModelOptions = data.HasMultipleDeliveryModelOptions, - PendingPriceChange = Map(data.PendingPriceChange), - PendingStartDateChange = MapPendingStartDateChange(data.PendingStartDateChange), - CanActualStartDateBeChanged = data.CanActualStartDateBeChanged, - PaymentStatus = Map(data), - LearnerStatus = data.LearnerStatusDetails.LearnerStatus, - WithdrawalChangedDate = data.LearnerStatusDetails.WithdrawalChangedDate, - LastCensusDateOfLearning = data.LearnerStatusDetails.LastCensusDateOfLearning, - LastDayOfLearning = data.LearnerStatusDetails.LastDayOfLearning - }; - } - catch (Exception e) - { - _logger.LogError(e, $"Error mapping apprenticeship {source.ApprenticeshipId} to DetailsViewModel"); - throw; - } + return null; } - private static PendingPriceChange Map(GetManageApprenticeshipDetailsResponse.PendingPriceChangeDetails priceChangeDetails) + return new PendingPriceChange { - if (priceChangeDetails == null) - { - return null; - } + Cost = priceChangeDetails.Cost, + EndPointAssessmentPrice = priceChangeDetails.EndPointAssessmentPrice, + TrainingPrice = priceChangeDetails.TrainingPrice, + PriceChangeInitiator = Enum.Parse(priceChangeDetails.Initiator) + }; + } - return new PendingPriceChange - { - Cost = priceChangeDetails.Cost, - EndPointAssessmentPrice = priceChangeDetails.EndPointAssessmentPrice, - TrainingPrice = priceChangeDetails.TrainingPrice, - PriceChangeInitiator = Enum.Parse(priceChangeDetails.Initiator) - }; + private static PendingStartDateChange MapPendingStartDateChange(GetManageApprenticeshipDetailsResponse.PendingStartDateChangeDetails startDateChangeDetails) + { + if (startDateChangeDetails == null) + { + return null; } - private static PendingStartDateChange MapPendingStartDateChange(GetManageApprenticeshipDetailsResponse.PendingStartDateChangeDetails startDateChangeDetails) + return new PendingStartDateChange { - if (startDateChangeDetails == null) - { - return null; - } - - return new PendingStartDateChange - { - PendingStartDate = startDateChangeDetails.PendingActualStartDate, - PendingEndDate = startDateChangeDetails.PendingPlannedEndDate, - ChangeInitiatedBy = Enum.Parse(startDateChangeDetails.Initiator) - }; - } + PendingStartDate = startDateChangeDetails.PendingActualStartDate, + PendingEndDate = startDateChangeDetails.PendingPlannedEndDate, + ChangeInitiatedBy = Enum.Parse(startDateChangeDetails.Initiator) + }; + } - private static PaymentsStatus Map(GetManageApprenticeshipDetailsResponse source) + private static PaymentsStatus Map(GetManageApprenticeshipDetailsResponse source) + { + var paymentsStatusData = source.PaymentsStatus; + var paymentStatus = new PaymentsStatus { - var paymentsStatusData = source.PaymentsStatus; - var paymentStatus = new PaymentsStatus - { - Status = source.PaymentsStatus.PaymentsFrozen ? "Withheld" : source.LearnerStatusDetails.LearnerStatus == LearnerStatus.WaitingToStart ? "Inactive" : "Active", - PaymentsFrozen = paymentsStatusData.PaymentsFrozen, - ReasonFrozen = paymentsStatusData.ReasonFrozen, - FrozenOn = paymentsStatusData.FrozenOn - }; - return paymentStatus; - } + Status = source.PaymentsStatus.PaymentsFrozen ? "Withheld" : source.LearnerStatusDetails.LearnerStatus == LearnerStatus.WaitingToStart ? "Inactive" : "Active", + PaymentsFrozen = paymentsStatusData.PaymentsFrozen, + ReasonFrozen = paymentsStatusData.ReasonFrozen, + FrozenOn = paymentsStatusData.FrozenOn + }; + return paymentStatus; + } - private static DetailsViewModel.TriageOption CalcTriageStatus(bool hasHadDataLockSuccess, IEnumerable dataLocks) + private static DetailsViewModel.TriageOption CalcTriageStatus(bool hasHadDataLockSuccess, IEnumerable dataLocks) + { + if (!hasHadDataLockSuccess) { - if (!hasHadDataLockSuccess) - { - return DetailsViewModel.TriageOption.Update; - } + return DetailsViewModel.TriageOption.Update; + } - var dataLockErrors = dataLocks.Where(x => x.IsUnresolvedError()).ToList(); + var dataLockErrors = dataLocks.Where(x => x.IsUnresolvedError()).ToList(); - if (dataLockErrors.All(x => x.IsPrice())) - return DetailsViewModel.TriageOption.Update; + if (dataLockErrors.All(x => x.IsPrice())) + return DetailsViewModel.TriageOption.Update; - if (dataLockErrors.Any(x => x.IsCourseAndPrice())) - return DetailsViewModel.TriageOption.Restart; + if (dataLockErrors.Any(x => x.IsCourseAndPrice())) + return DetailsViewModel.TriageOption.Restart; - if (dataLockErrors.All(x => x.IsCourse())) - return DetailsViewModel.TriageOption.Restart; + if (dataLockErrors.All(x => x.IsCourse())) + return DetailsViewModel.TriageOption.Restart; - if (dataLockErrors.All(x => x.IsCourseOrPrice())) - return DetailsViewModel.TriageOption.Both; + if (dataLockErrors.All(x => x.IsCourseOrPrice())) + return DetailsViewModel.TriageOption.Both; - return DetailsViewModel.TriageOption.Update; - } + return DetailsViewModel.TriageOption.Update; + } - private async Task GetApprenticeshipData(long apprenticeshipId, long providerId) - { - var apiRequest = new GetManageApprenticeshipDetailsRequest(providerId, apprenticeshipId); - var apprenticeshipDetails = await _apiClient.Get(apiRequest); + private async Task GetAapppprenticeshipData(long apprenticeshipId, long providerId) + { + var apiRequest = new GetManageApprenticeshipDetailsRequest(providerId, apprenticeshipId); + var apprenticeshipDetails = await _apiClient.Get(apiRequest); - return apprenticeshipDetails; - } + return apprenticeshipDetails; + } - private async Task HasNewerVersions(GetManageApprenticeshipDetailsResponse.ApprenticeshipDetails apprenticeship) + private async Task HasNewerVersions(GetManageApprenticeshipDetailsResponse.ApprenticeshipDetails apprenticeship) + { + if (apprenticeship.StandardUId == null) { - if (apprenticeship.StandardUId == null) - { - return false; - } + return false; + } - var newerVersions = await _commitmentApiClient.GetNewerTrainingProgrammeVersions(apprenticeship.StandardUId); + var newerVersions = await _commitmentApiClient.GetNewerTrainingProgrammeVersions(apprenticeship.StandardUId); - return newerVersions?.NewerVersions != null && newerVersions.NewerVersions.Any(); - } + return newerVersions?.NewerVersions != null && newerVersions.NewerVersions.Any(); + } - private async Task<(bool singleOption, bool hasOptions)> HasOptions(string standardUId) + private async Task<(bool singleOption, bool hasOptions)> HasOptions(string standardUId) + { + if (string.IsNullOrEmpty(standardUId)) { - if (string.IsNullOrEmpty(standardUId)) - { - return (false, false); - } + return (false, false); + } - var trainingProgrammeVersionResponse = await _commitmentApiClient.GetTrainingProgrammeVersionByStandardUId(standardUId); + var trainingProgrammeVersionResponse = await _commitmentApiClient.GetTrainingProgrammeVersionByStandardUId(standardUId); - var optionsCount = trainingProgrammeVersionResponse?.TrainingProgramme?.Options.Count; - return (optionsCount == 1, optionsCount > 0); + var optionsCount = trainingProgrammeVersionResponse?.TrainingProgramme?.Options.Count; + return (optionsCount == 1, optionsCount > 0); - } } } \ No newline at end of file From 3888cd1e9b230eba23e8af4ac732bfdd288e9ba4 Mon Sep 17 00:00:00 2001 From: Corey Faulconbridge Date: Tue, 17 Mar 2026 16:30:11 +0000 Subject: [PATCH 2/3] map course properties from learnerData sync --- .../EditDraftApprenticeshipViewModelMapper.cs | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/src/SFA.DAS.ProviderCommitments/SFA.DAS.ProviderCommitments.Web/Mappers/EditDraftApprenticeshipViewModelMapper.cs b/src/SFA.DAS.ProviderCommitments/SFA.DAS.ProviderCommitments.Web/Mappers/EditDraftApprenticeshipViewModelMapper.cs index de8c95478..32dfba086 100644 --- a/src/SFA.DAS.ProviderCommitments/SFA.DAS.ProviderCommitments.Web/Mappers/EditDraftApprenticeshipViewModelMapper.cs +++ b/src/SFA.DAS.ProviderCommitments/SFA.DAS.ProviderCommitments.Web/Mappers/EditDraftApprenticeshipViewModelMapper.cs @@ -1,4 +1,4 @@ -using SFA.DAS.CommitmentsV2.Api.Types.Responses; +using SFA.DAS.CommitmentsV2.Api.Types.Responses; using SFA.DAS.CommitmentsV2.Shared.Interfaces; using SFA.DAS.CommitmentsV2.Types; using SFA.DAS.Encoding; @@ -138,7 +138,16 @@ public async Task ApplyLearnerDataSyncUpdates(EditDraftApprenticeshipViewModel e editModel.Cost = updatedDraftApprenticeship.Cost; editModel.HasLearnerDataChanges = false; editModel.LastLearnerDataSync = DateTime.UtcNow; - + editModel.DeliveryModel = (DeliveryModel?)updatedDraftApprenticeship.DeliveryModel; + + if (!string.IsNullOrEmpty(updatedDraftApprenticeship.CourseCode)) + { + editModel.CourseCode = updatedDraftApprenticeship.CourseCode; + editModel.CourseName = updatedDraftApprenticeship.TrainingCourseName; + editModel.TrainingCourseOption = updatedDraftApprenticeship.TrainingCourseOption == string.Empty ? "-1" : updatedDraftApprenticeship.TrainingCourseOption; + editModel.TrainingCourseVersion = updatedDraftApprenticeship.TrainingCourseVersion; + } + await cacheStorageService.DeleteFromCache(learnerDataSyncKey); } } \ No newline at end of file From ad657fa71779e446117ac3a91337a19e1c578be8 Mon Sep 17 00:00:00 2001 From: Corey Faulconbridge Date: Wed, 18 Mar 2026 11:19:23 +0000 Subject: [PATCH 3/3] fix typo --- .../Mappers/Apprentice/DetailsViewModelMapper.cs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/SFA.DAS.ProviderCommitments/SFA.DAS.ProviderCommitments.Web/Mappers/Apprentice/DetailsViewModelMapper.cs b/src/SFA.DAS.ProviderCommitments/SFA.DAS.ProviderCommitments.Web/Mappers/Apprentice/DetailsViewModelMapper.cs index af151448f..961319c93 100644 --- a/src/SFA.DAS.ProviderCommitments/SFA.DAS.ProviderCommitments.Web/Mappers/Apprentice/DetailsViewModelMapper.cs +++ b/src/SFA.DAS.ProviderCommitments/SFA.DAS.ProviderCommitments.Web/Mappers/Apprentice/DetailsViewModelMapper.cs @@ -1,4 +1,4 @@ -using SFA.DAS.CommitmentsV2.Api.Client; +using SFA.DAS.CommitmentsV2.Api.Client; using SFA.DAS.CommitmentsV2.Shared.Interfaces; using SFA.DAS.CommitmentsV2.Types; using SFA.DAS.Encoding; @@ -7,8 +7,6 @@ using SFA.DAS.ProviderCommitments.Infrastructure.OuterApi.Requests.Apprentices; using SFA.DAS.ProviderCommitments.Web.Extensions; using SFA.DAS.ProviderCommitments.Web.Models.Apprentice; -using SFA.DAS.CommitmentsV2.Shared.Extensions; -using Azure; using SFA.DAS.Apprenticeships.Types; namespace SFA.DAS.ProviderCommitments.Web.Mappers.Apprentice; @@ -203,7 +201,7 @@ private static DetailsViewModel.TriageOption CalcTriageStatus(bool hasHadDataLoc return DetailsViewModel.TriageOption.Update; } - private async Task GetAapppprenticeshipData(long apprenticeshipId, long providerId) + private async Task GetApprenticeshipData(long apprenticeshipId, long providerId) { var apiRequest = new GetManageApprenticeshipDetailsRequest(providerId, apprenticeshipId); var apprenticeshipDetails = await _apiClient.Get(apiRequest);