public async Task <IActionResult> ConfirmTraining(ConfirmTrainingEditModel m, [FromQuery] bool wizard) { var user = User.ToVacancyUser(); var programme = await _orchestrator.GetProgrammeAsync(m.ProgrammeId); if (programme == null) { ModelState.AddModelError(nameof(TrainingEditModel.SelectedProgrammeId), InvalidTraining); } else { var response = await _orchestrator.PostConfirmTrainingEditModelAsync(m, user); if (!response.Success) { response.AddErrorsToModelState(ModelState); } } if (!ModelState.IsValid) { var vm = await _orchestrator.GetTrainingViewModelAsync(m, user); vm.PageInfo.SetWizard(wizard); return(View("training", vm)); } return(wizard ? RedirectToRoute(RouteNames.TrainingProvider_Select_Get) : RedirectToRoute(RouteNames.Vacancy_Preview_Get)); }
public async Task <OrchestratorResponse> PostConfirmTrainingEditModelAsync(ConfirmTrainingEditModel m, VacancyUser user) { var vacancy = await Utility.GetAuthorisedVacancyForEditAsync(_client, _vacancyClient, m, RouteNames.Training_Confirm_Post); vacancy.ProgrammeId = m.ProgrammeId; return(await ValidateAndExecute( vacancy, v => _vacancyClient.Validate(v, ValidationRules), v => _vacancyClient.UpdateDraftVacancyAsync(vacancy, user) )); }
public async Task WhenUpdated_ShouldFlagFieldIndicators(string programmeId, bool fieldIndicatorSet) { _fixture .WithProgrammeId("this is a value") .Setup(); var confirmTrainingEditModel = new ConfirmTrainingEditModel { Ukprn = _fixture.Vacancy.TrainingProvider.Ukprn.Value, VacancyId = _fixture.Vacancy.Id, ProgrammeId = programmeId }; await _fixture.PostConfirmTrainingEditModelAsync(confirmTrainingEditModel); _fixture.VerifyProviderReviewFieldIndicators(FieldIdentifiers.TrainingLevel, fieldIndicatorSet); _fixture.VerifyProviderReviewFieldIndicators(FieldIdentifiers.Training, fieldIndicatorSet); }
public async Task <OrchestratorResponse> PostConfirmTrainingEditModelAsync(ConfirmTrainingEditModel m, VacancyUser user) { var vacancy = await _utility.GetAuthorisedVacancyForEditAsync(m, RouteNames.Training_Confirm_Post); SetVacancyWithEmployerReviewFieldIndicators( vacancy.ProgrammeId, FieldIdResolver.ToFieldId(v => v.ProgrammeId), vacancy, (v) => { return(v.ProgrammeId = m.ProgrammeId); }); return(await ValidateAndExecute( vacancy, v => _vacancyClient.Validate(v, ValidationRules), v => _vacancyClient.UpdateDraftVacancyAsync(vacancy, user) )); }
public async Task PostConfirmTrainingEditModelAsync(ConfirmTrainingEditModel model) { await Sut.PostConfirmTrainingEditModelAsync(model, User); }