public async Task <Guid> PostCloneVacancyWithSameDates(CloneVacancyDatesQuestionEditModel model, VacancyUser user)
        {
            var vacancy = await GetCloneableAuthorisedVacancyAsync(model);

            var newVacancyId = await _vacancyClient.CloneVacancyAsync(
                model.VacancyId.GetValueOrDefault(),
                user,
                SourceOrigin.ProviderWeb,
                vacancy.StartDate.GetValueOrDefault(),
                vacancy.ClosingDate.GetValueOrDefault());

            return(newVacancyId);
        }
        public async Task <IActionResult> CloneVacancyDatesQuestion(CloneVacancyDatesQuestionEditModel model)
        {
            if (!ModelState.IsValid)
            {
                var vm = await _orchestrator.GetCloneVacancyDatesQuestionViewModelAsync(model);

                return(View(vm));
            }

            if (model.HasConfirmedClone == true)
            {
                var newVacancyId = await _orchestrator.PostCloneVacancyWithSameDates(model, User.ToVacancyUser());

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