Example #1
0
        public async Task <AssessorSectorDetailsViewModel> GetSectorDetailsViewModel(GetSectorDetailsRequest request)
        {
            var application = await _applicationApiClient.GetApplication(request.ApplicationId);

            var assessorPage = await _assessorApiClient.GetAssessorPage(
                request.ApplicationId,
                SequenceIds.DeliveringApprenticeshipTraining,
                SectionIds.DeliveringApprenticeshipTraining.YourSectorsAndEmployees,
                RoatpWorkflowPageIds.YourSectorsAndEmployeesStartingPageId);

            if (application is null || assessorPage is null)
            {
                return(null);
            }

            var sectorDetails = await _assessorApiClient.GetAssessorSectorDetails(request.ApplicationId, request.PageId);

            var viewModel = new AssessorSectorDetailsViewModel
            {
                ApplicationId         = application.ApplicationId,
                Ukprn                 = application.ApplyData.ApplyDetails.UKPRN,
                PageId                = request.PageId,
                ApplicantEmailAddress = null,
                ApplyLegalName        = application.ApplyData.ApplyDetails.OrganisationName,
                ApplicationRoute      = application.ApplyData.ApplyDetails.ProviderRouteName,
                SubmittedDate         = application.ApplyData.ApplyDetails.ApplicationSubmittedOn,
                Caption               = assessorPage.Caption,
                Heading               = $"Delivering training in '{sectorDetails?.SectorName}' sector",
                SectorDetails         = sectorDetails
            };

            await SetSectorReviewOutcome(request, viewModel);

            return(viewModel);
        }