public async Task <IActionResult> Title(TitleEditModel m, [FromQuery] bool wizard)
        {
            PopulateModelFromTempData(m);
            var response = await _orchestrator.PostTitleEditModelAsync(m, User.ToVacancyUser());

            if (!response.Success)
            {
                response.AddErrorsToModelState(ModelState);
            }

            if (!ModelState.IsValid)
            {
                var vm = await _orchestrator.GetTitleViewModelAsync(m);
                await PopulateModelFromTempData(vm);

                vm.PageInfo.SetWizard(wizard);
                return(View(vm));
            }

            if (m.ReferredFromSavedFavourites)
            {
                if (m.VacancyId == null)
                {
                    TempData[TempDataKeys.ReferredUkprn + response.Data]       = TempData[TempDataKeys.ReferredUkprn];
                    TempData[TempDataKeys.ReferredProgrammeId + response.Data] = TempData[TempDataKeys.ReferredProgrammeId];
                    TempData.Remove(TempDataKeys.ReferredUkprn);
                    TempData.Remove(TempDataKeys.ReferredProgrammeId);
                }
                return(RedirectToRoute(RouteNames.DisplayVacancy_Get, new { vacancyId = response.Data }));
            }
            return(wizard
                ? RedirectToRoute(RouteNames.Training_Get, new { vacancyId = response.Data })
                : RedirectToRoute(RouteNames.Vacancy_Preview_Get));
        }
예제 #2
0
 public async Task PostTitleEditModelAsync(TitleEditModel model)
 {
     await Sut.PostTitleEditModelAsync(new VacancyRouteModel
     {
         Ukprn     = Vacancy.TrainingProvider.Ukprn.Value,
         VacancyId = Vacancy.Id,
     }, model, User, Vacancy.TrainingProvider.Ukprn.Value);
 }
예제 #3
0
        public async Task WhenUpdated_ShouldFlagFieldIndicators(string title, bool fieldIndicatorSet)
        {
            _fixture
            .WithTitle("this is a value")
            .Setup();

            var titleEditModel = new TitleEditModel
            {
                EmployerAccountId = _fixture.Vacancy.EmployerAccountId,
                VacancyId         = _fixture.Vacancy.Id,
                Title             = title
            };

            await _fixture.PostTitleEditModelAsync(titleEditModel);

            _fixture.VerifyEmployerReviewFieldIndicators(FieldIdentifiers.Title, fieldIndicatorSet);
        }
예제 #4
0
        public async Task <IActionResult> Title(TitleEditModel m, [FromQuery] bool wizard)
        {
            var response = await _orchestrator.PostTitleEditModelAsync(m, User.ToVacancyUser());

            if (!response.Success)
            {
                response.AddErrorsToModelState(ModelState);
            }

            if (!ModelState.IsValid)
            {
                var vm = await _orchestrator.GetTitleViewModelAsync(m);

                vm.PageInfo.SetWizard(wizard);
                return(View(vm));
            }

            return(wizard
                ? RedirectToRoute(RouteNames.Training_Get, new { vacancyId = response.Data })
                : RedirectToRoute(RouteNames.Vacancy_Preview_Get));
        }
예제 #5
0
        //[HttpGet(ExistingVacancyTitleRoute, Name = RouteNames.Title_Post)]
        public async Task <IActionResult> Title(TitleEditModel model, [FromQuery] string employerAccountId, [FromQuery] bool wizard)
        {
            var ukprn    = User.GetUkprn();
            var response = await _orchestrator.PostTitleEditModelAsync(model, User.ToVacancyUser(), ukprn);

            if (!response.Success)
            {
                response.AddErrorsToModelState(ModelState);
            }

            if (!ModelState.IsValid)
            {
                var vm = await _orchestrator.GetTitleViewModelAsync(model, ukprn);

                vm.PageInfo.SetWizard(wizard);
                return(View(vm));
            }
            return(RedirectToRoute(RouteNames.ShortDescription_Get, new { vacancyId = response.Data }));
            // return wizard
            //     ? RedirectToRoute(RouteNames.ShortDescription_Get, new {vacancyId = response.Data})
            //     : RedirectToRoute(RouteNames.Vacancy_Preview_Get);
        }
 private void PopulateModelFromTempData(TitleEditModel m)
 {
     m.ReferredFromMa      = Convert.ToBoolean(TempData.Peek(TempDataKeys.ReferredFromMa));
     m.ReferredUkprn       = GetReferredProviderUkprn(m.VacancyId);
     m.ReferredProgrammeId = GetReferredProgrammeId(m.VacancyId);
 }
예제 #7
0
 public async Task PostTitleEditModelAsync(TitleEditModel model)
 {
     await Sut.PostTitleEditModelAsync(model, User);
 }