public async Task ThenReturnUpdatedModel()
        {
            var dirtyModel = new CloneVacancyWithNewDatesEditModel()
            {
                Ukprn        = SourceUkprn,
                ClosingDay   = "1",
                ClosingMonth = "11",
                ClosingYear  = "20122",
                StartDay     = "1",
                StartMonth   = "2",
                StartYear    = "yyyy"
            };

            var sut = GetSut(SourceVacancy);

            var vm = await sut.GetDirtyCloneVacancyWithNewDatesViewModelAsync(dirtyModel);

            vm.StartDay.Should().Be(dirtyModel.StartDay);
            vm.StartMonth.Should().Be(dirtyModel.StartMonth);
            vm.StartYear.Should().Be(dirtyModel.StartYear);
            vm.StartDay.Should().Be(dirtyModel.StartDay);
            vm.ClosingDay.Should().Be(dirtyModel.ClosingDay);
            vm.ClosingMonth.Should().Be(dirtyModel.ClosingMonth);
            vm.ClosingMonth.Should().Be(dirtyModel.ClosingMonth);
        }
        public async Task <IActionResult> CloneVacancyWithNewDates(CloneVacancyWithNewDatesEditModel model)
        {
            var response = await _orchestrator.PostCloneVacancyWithNewDates(model, User.ToVacancyUser());

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

            if (!ModelState.IsValid)
            {
                var vm = await _orchestrator.GetDirtyCloneVacancyWithNewDatesViewModelAsync(model);

                return(View(vm));
            }

            TempData.Add(TempDataKeys.VacancyPreviewInfoMessage, InfoMessages.VacancyCloned);
            return(RedirectToRoute(RouteNames.Vacancy_Preview_Get, new { VacancyId = response.Data }));
        }