예제 #1
0
        public async Task <SelectTrainingProviderViewModel> GetSelectTrainingProviderViewModelAsync(VacancyRouteModel vrm, long?ukprn = null)
        {
            var vacancyTask           = Utility.GetAuthorisedVacancyForEditAsync(_client, _vacancyClient, vrm, RouteNames.TrainingProvider_Select_Get);
            var trainingProvidersTask = _trainingProviderSummaryProvider.FindAllAsync();

            await Task.WhenAll(vacancyTask, trainingProvidersTask);

            var vacancy           = vacancyTask.Result;
            var trainingProviders = trainingProvidersTask.Result;

            var programme = await _vacancyClient.GetApprenticeshipProgrammeAsync(vacancy.ProgrammeId);

            var vm = new SelectTrainingProviderViewModel
            {
                Title             = vacancy.Title,
                TrainingProviders = trainingProviders.Select(t => FormatSuggestion(t.ProviderName, t.Ukprn)),
                PageInfo          = Utility.GetPartOnePageInfo(vacancy),
                Programme         = programme.ToViewModel()
            };

            TrySetSelectedTrainingProvider(vm, trainingProviders, vacancy, ukprn);

            if (vacancy.Status == VacancyStatus.Referred)
            {
                vm.Review = await _reviewSummaryService.GetReviewSummaryViewModelAsync(vacancy.VacancyReference.Value,
                                                                                       ReviewFieldMappingLookups.GetTrainingProviderFieldIndicators());
            }

            return(vm);
        }
        public async Task <SelectTrainingProviderViewModel> GetSelectTrainingProviderViewModel(VacancyRouteModel vrm)
        {
            var vacancy = await Utility.GetAuthorisedVacancyForEditAsync(_client, _vacancyClient, vrm, RouteNames.TrainingProvider_Select_Get);

            var vm = new SelectTrainingProviderViewModel
            {
                Title = vacancy.Title,
                Ukprn = vacancy.TrainingProvider?.Ukprn?.ToString()
            };

            if (vacancy.Status == VacancyStatus.Referred)
            {
                vm.Review = await _reviewSummaryService.GetReviewSummaryViewModelAsync(vacancy.VacancyReference.Value,
                                                                                       ReviewFieldMappingLookups.GetTrainingProviderFieldIndicators());
            }

            return(vm);
        }