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); }
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)); }