public async Task DeleteVacancyAsync(DeleteEditModel m, VacancyUser user)
        {
            var vacancy = await _vacancyClient.GetVacancyAsync(m.VacancyId.Value);

            Utility.CheckAuthorisedAccess(vacancy, m.Ukprn);

            if (!vacancy.CanDelete)
            {
                throw new InvalidStateException(string.Format(ErrorMessages.VacancyNotAvailableForEditing, vacancy.Title));
            }

            await _client.DeleteVacancyAsync(vacancy.Id, user);
        }
Пример #2
0
        public async Task <IActionResult> Delete(DeleteEditModel m)
        {
            if (!ModelState.IsValid)
            {
                return(await GetDeleteVacancyConfirmationView(m));
            }

            if (!m.ConfirmDeletion.Value)
            {
                return(RedirectToRoute(RouteNames.Vacancy_Preview_Get));
            }

            await _orchestrator.DeleteVacancyAsync(m, User.ToVacancyUser());

            return(RedirectToRoute(RouteNames.Vacancies_Get));
        }
        public async Task <IActionResult> Delete(DeleteEditModel m)
        {
            var vrm = new VacancyRouteModel {
                VacancyId = m.VacancyId, EmployerAccountId = m.EmployerAccountId
            };

            if (!ModelState.IsValid)
            {
                return(await GetDeleteVacancyConfirmationView(vrm));
            }

            if (!m.ConfirmDeletion.Value)
            {
                return(RedirectToRoute(RouteNames.Vacancy_Preview_Get));
            }

            await _orchestrator.DeleteVacancyAsync(m, User.ToVacancyUser());

            return(RedirectToRoute(RouteNames.Dashboard_Index_Get));
        }