public async Task <EmployerNameViewModel> GetEmployerNameViewModelAsync(VacancyRouteModel vrm, VacancyEmployerInfoModel employerInfoModel) { var vacancy = await _utility.GetAuthorisedVacancyForEditAsync(vrm, RouteNames.Employer_Get); var accountLegalEntityPublicHashedId = employerInfoModel?.AccountLegalEntityPublicHashedId ?? vacancy.AccountLegalEntityPublicHashedId; if (string.IsNullOrEmpty(accountLegalEntityPublicHashedId)) { return(null); } var getEmployerDataTask = _employerVacancyClient.GetEditVacancyInfoAsync(vrm.EmployerAccountId); var getEmployerProfileTask = _recruitVacancyClient.GetEmployerProfileAsync(vrm.EmployerAccountId, accountLegalEntityPublicHashedId); await Task.WhenAll(getEmployerDataTask, getEmployerProfileTask); var editVacancyInfo = getEmployerDataTask.Result; var employerProfile = getEmployerProfileTask.Result; var legalEntity = editVacancyInfo.LegalEntities.Single(l => l.AccountLegalEntityPublicHashedId == accountLegalEntityPublicHashedId); var vm = new EmployerNameViewModel { HasOnlyOneOrganisation = editVacancyInfo.LegalEntities.Count() == 1, LegalEntityName = legalEntity.Name, ExistingTradingName = employerProfile.TradingName, PageInfo = _utility.GetPartOnePageInfo(vacancy), SelectedEmployerIdentityOption = employerInfoModel?.EmployerIdentityOption ?? vacancy?.EmployerNameOption?.ConvertToModelOption(), NewTradingName = employerInfoModel?.NewTradingName, AnonymousName = employerInfoModel?.AnonymousName, AnonymousReason = employerInfoModel?.AnonymousReason ?? vacancy?.AnonymousReason, TaskListCompleted = _utility.TaskListCompleted(vacancy) }; if (vacancy.Status == VacancyStatus.Referred) { vm.Review = await _reviewSummaryService.GetReviewSummaryViewModelAsync(vacancy.VacancyReference.Value, ReviewFieldMappingLookups.GetEmployerNameReviewFieldIndicators()); } return(vm); }
public async Task <EmployerNameViewModel> GetEmployerNameViewModelAsync( VacancyRouteModel vrm, VacancyEmployerInfoModel employerInfoModel, VacancyUser user) { var vacancy = await Utility.GetAuthorisedVacancyForEditAsync( _providerVacancyClient, _recruitVacancyClient, vrm, RouteNames.EmployerName_Get); var accountLegalEntityPublicHashedId = employerInfoModel.AccountLegalEntityPublicHashedId; var getVacancyEditInfoTask = _providerVacancyClient.GetProviderEditVacancyInfoAsync(vrm.Ukprn); var getEmployerProfileTask = _recruitVacancyClient.GetEmployerProfileAsync(vacancy.EmployerAccountId, accountLegalEntityPublicHashedId); await Task.WhenAll(getVacancyEditInfoTask, getEmployerProfileTask); var employerInfo = getVacancyEditInfoTask.Result.Employers.Single(e => e.EmployerAccountId == vacancy.EmployerAccountId); var employerProfile = getEmployerProfileTask.Result; var legalEntity = employerInfo.LegalEntities.Single(l => l.AccountLegalEntityPublicHashedId == accountLegalEntityPublicHashedId); var vm = new EmployerNameViewModel { HasOnlyOneOrganisation = employerInfo.LegalEntities.Count() == 1, LegalEntityName = legalEntity.Name, ExistingTradingName = employerProfile?.TradingName, PageInfo = Utility.GetPartOnePageInfo(vacancy), SelectedEmployerIdentityOption = employerInfoModel.EmployerIdentityOption, NewTradingName = employerInfoModel.NewTradingName, AnonymousName = employerInfoModel.AnonymousName, AnonymousReason = employerInfoModel.AnonymousReason }; if (vacancy.Status == VacancyStatus.Referred) { vm.Review = await _reviewSummaryService.GetReviewSummaryViewModelAsync(vacancy.VacancyReference.Value, ReviewFieldMappingLookups.GetEmployerNameReviewFieldIndicators()); } return(vm); }