public async Task <TrainingViewModel> GetTrainingViewModelAsync(VacancyRouteModel vrm, VacancyUser user) { var vacancyTask = _utility.GetAuthorisedVacancyForEditAsync(vrm, RouteNames.Training_Get); var programmesTask = _vacancyClient.GetActiveApprenticeshipProgrammesAsync(); var isUsersFirstVacancyTask = IsUsersFirstVacancy(user.UserId); var getEmployerDataTask = _employerVacancyClient.GetEditVacancyInfoAsync(vrm.EmployerAccountId); await Task.WhenAll(vacancyTask, programmesTask, isUsersFirstVacancyTask, getEmployerDataTask); var vacancy = vacancyTask.Result; var programmes = programmesTask.Result; var vm = new TrainingViewModel { VacancyId = vacancy.Id, SelectedProgrammeId = vacancy.ProgrammeId, Programmes = programmes.ToViewModel(), IsUsersFirstVacancy = isUsersFirstVacancyTask.Result && vacancy.TrainingProvider == null, PageInfo = _utility.GetPartOnePageInfo(vacancy), HasMoreThanOneLegalEntity = getEmployerDataTask.Result.LegalEntities.Count() > 1 }; if (vacancy.Status == VacancyStatus.Referred) { vm.Review = await _reviewSummaryService.GetReviewSummaryViewModelAsync(vacancy.VacancyReference.Value, ReviewFieldMappingLookups.GetTrainingReviewFieldIndicators()); } return(vm); }
public async Task <TrainingViewModel> GetTrainingViewModelAsync(VacancyRouteModel vrm, VacancyUser user) { var vacancyTask = Utility.GetAuthorisedVacancyForEditAsync( _client, _vacancyClient, vrm, RouteNames.Training_Get); var programmesTask = _vacancyClient.GetActiveApprenticeshipProgrammesAsync(); await Task.WhenAll(vacancyTask, programmesTask); var vacancy = vacancyTask.Result; var programmes = programmesTask.Result; var vm = new TrainingViewModel { VacancyId = vacancy.Id, SelectedProgrammeId = vacancy.ProgrammeId, Programmes = programmes.ToViewModel(), PageInfo = Utility.GetPartOnePageInfo(vacancy), }; if (vacancy.Status == VacancyStatus.Referred) { vm.Review = await _reviewSummaryService.GetReviewSummaryViewModelAsync(vacancy.VacancyReference.Value, ReviewFieldMappingLookups.GetTrainingReviewFieldIndicators()); } return(vm); }
public async Task <VacancyPreviewViewModel> GetVacancyPreviewViewModelAsync(VacancyRouteModel vrm) { var vacancyTask = Utility.GetAuthorisedVacancyForEditAsync(_client, _vacancyClient, vrm, RouteNames.Vacancy_Preview_Get); var programmesTask = _vacancyClient.GetActiveApprenticeshipProgrammesAsync(); await Task.WhenAll(vacancyTask, programmesTask); var vacancy = vacancyTask.Result; var programme = programmesTask.Result.SingleOrDefault(p => p.Id == vacancy.ProgrammeId); var vm = new VacancyPreviewViewModel(); await _vacancyDisplayMapper.MapFromVacancyAsync(vm, vacancy); vm.HasProgramme = vacancy.ProgrammeId != null; vm.HasWage = vacancy.Wage != null; vm.CanShowReference = vacancy.Status != VacancyStatus.Draft; vm.CanShowDraftHeader = vacancy.Status == VacancyStatus.Draft; vm.SoftValidationErrors = GetSoftValidationErrors(vacancy); if (programme != null) { vm.Level = programme.Level; } if (vacancy.Status == VacancyStatus.Referred) { vm.Review = await _reviewSummaryService.GetReviewSummaryViewModelAsync(vacancy.VacancyReference.Value, ReviewFieldMappingLookups.GetPreviewReviewFieldIndicators()); } return(vm); }
public async Task <OrchestratorResponse <EditVacancyDatesViewModel> > GetEditVacancyDatesViewModelAsync(VacancyRouteModel vrm, DateTime?proposedClosingDate, DateTime?proposedStartDate) { var vacancyTask = GetVacancyAsync(vrm); var programmesTask = _vacancyClient.GetActiveApprenticeshipProgrammesAsync(); await Task.WhenAll(vacancyTask, programmesTask); var vacancy = vacancyTask.Result; var programmes = programmesTask.Result; var vm = new EditVacancyDatesViewModel { ClosingDay = $"{vacancy.ClosingDate.Value.Day:00}", ClosingMonth = $"{vacancy.ClosingDate.Value.Month:00}", ClosingYear = $"{vacancy.ClosingDate.Value.Year}", StartDay = $"{vacancy.StartDate.Value.Day:00}", StartMonth = $"{vacancy.StartDate.Value.Month:00}", StartYear = $"{vacancy.StartDate.Value.Year}", CurrentYear = _timeProvider.Now.Year, ProgrammeName = programmes.First(p => p.Id == vacancy.ProgrammeId).Title }; var resp = new OrchestratorResponse <EditVacancyDatesViewModel>(vm); ApplyProposedDateChanges(proposedClosingDate, proposedStartDate, resp); return(resp); }
public async Task <VacancyPreviewViewModel> GetVacancyTaskListModel(VacancyRouteModel vrm) { var vacancyTask = _utility.GetAuthorisedVacancyForEditAsync(vrm, RouteNames.EmployerTaskListGet); var programmesTask = _recruitVacancyClient.GetActiveApprenticeshipProgrammesAsync(); var getEmployerDataTask = _employerVacancyClient.GetEditVacancyInfoAsync(vrm.EmployerAccountId); await Task.WhenAll(vacancyTask, programmesTask, getEmployerDataTask); var vacancy = vacancyTask.Result; var programme = programmesTask.Result.SingleOrDefault(p => p.Id == vacancy.ProgrammeId); var vm = new VacancyPreviewViewModel(); await _displayVacancyViewModelMapper.MapFromVacancyAsync(vm, vacancy); vm.RejectedReason = vacancy.EmployerRejectedReason; vm.HasProgramme = vacancy.ProgrammeId != null; vm.HasWage = vacancy.Wage != null; vm.CanShowReference = vacancy.Status != VacancyStatus.Draft; vm.CanShowDraftHeader = vacancy.Status == VacancyStatus.Draft; if (programme != null) { vm.ApprenticeshipLevel = programme.ApprenticeshipLevel; } vm.AccountLegalEntityCount = getEmployerDataTask.Result.LegalEntities.Count(); return(vm); }
public async Task <VacancyPreviewViewModel> GetVacancyPreviewViewModelAsync(VacancyRouteModel vrm) { var vacancyTask = Utility.GetAuthorisedVacancyForEditAsync(_client, _vacancyClient, vrm, RouteNames.Vacancy_Preview_Get); var programmesTask = _vacancyClient.GetActiveApprenticeshipProgrammesAsync(); await Task.WhenAll(vacancyTask, programmesTask); var vacancy = vacancyTask.Result; var programme = programmesTask.Result.SingleOrDefault(p => p.Id == vacancy.ProgrammeId); var hasProviderReviewPermission = await _providerRelationshipsService.HasProviderGotEmployersPermissionAsync(vrm.Ukprn, vacancy.EmployerAccountId, vacancy.AccountLegalEntityPublicHashedId, OperationType.RecruitmentRequiresReview); var vm = new VacancyPreviewViewModel(); await _vacancyDisplayMapper.MapFromVacancyAsync(vm, vacancy); vm.HasProgramme = vacancy.ProgrammeId != null; vm.HasWage = vacancy.Wage != null; vm.CanShowReference = vacancy.Status != VacancyStatus.Draft; vm.CanShowDraftHeader = vacancy.Status == VacancyStatus.Draft; vm.SoftValidationErrors = GetSoftValidationErrors(vacancy); vm.RequiresEmployerReview = hasProviderReviewPermission; if (programme != null) { vm.ApprenticeshipLevel = programme.ApprenticeshipLevel; } if (vacancy.Status == VacancyStatus.Referred) { vm.Review = await _reviewSummaryService.GetReviewSummaryViewModelAsync(vacancy.VacancyReference.Value, ReviewFieldMappingLookups.GetPreviewReviewFieldIndicators()); } return(vm); }
public async Task <IApprenticeshipProgramme> GetProgrammeId(string programmeId) { if (string.IsNullOrWhiteSpace(programmeId)) { return(null); } var programmes = await _vacancyClient.GetActiveApprenticeshipProgrammesAsync(); return(programmes.SingleOrDefault(p => p.Id == programmeId)); }
public async Task <IApprenticeshipProgramme> GetProgramme(string programmeId) { var programmesTask = await _vacancyClient.GetActiveApprenticeshipProgrammesAsync(); return(programmesTask.SingleOrDefault(p => p.Id == programmeId)); }