public async Task <IActionResult> ApplicationStatusConfirmation(ApplicationReviewStatusConfirmationEditModel applicationReviewStatusConfirmationEditModel) { if (!ModelState.IsValid) { var vm = await _orchestrator.GetApplicationStatusConfirmationViewModelAsync(applicationReviewStatusConfirmationEditModel); return(View(vm)); } if (applicationReviewStatusConfirmationEditModel.CanNotifyCandidate) { var candidateName = await _orchestrator.PostApplicationReviewConfirmationEditModelAsync(applicationReviewStatusConfirmationEditModel, User.ToVacancyUser()); TempData.Add(TempDataKeys.ApplicationReviewStatusInfoMessage, string.Format(InfoMessages.ApplicationReviewStatusHeader, candidateName, applicationReviewStatusConfirmationEditModel.Outcome.ToString().ToLower())); return(RedirectToRoute(RouteNames.VacancyManage_Get)); } return(RedirectToRoute(RouteNames.ApplicationReview_Get)); }
public async Task <string> PostApplicationReviewConfirmationEditModelAsync(ApplicationReviewStatusConfirmationEditModel m, VacancyUser user) { var applicationReview = await Utility.GetAuthorisedApplicationReviewAsync(_vacancyClient, m); switch (m.Outcome.Value) { case ApplicationReviewStatus.Successful: await _client.SetApplicationReviewSuccessful(applicationReview.Id, user); break; case ApplicationReviewStatus.Unsuccessful: await _client.SetApplicationReviewUnsuccessful(applicationReview.Id, m.CandidateFeedback, user); break; default: throw new ArgumentException("Unhandled ApplicationReviewStatus"); } return(applicationReview.Application.FullName); }
internal async Task <ApplicationStatusConfirmationViewModel> GetApplicationStatusConfirmationViewModelAsync(ApplicationReviewStatusConfirmationEditModel applicationReviewStatusConfirmationEditModel) { await Utility.GetAuthorisedApplicationReviewAsync(_vacancyClient, applicationReviewStatusConfirmationEditModel); var applicationReview = await Utility.GetAuthorisedApplicationReviewAsync(_vacancyClient, applicationReviewStatusConfirmationEditModel); return(new ApplicationStatusConfirmationViewModel { CandidateFeedback = applicationReviewStatusConfirmationEditModel.CandidateFeedback, Outcome = applicationReviewStatusConfirmationEditModel.Outcome, ApplicationReviewId = applicationReviewStatusConfirmationEditModel.ApplicationReviewId, Name = applicationReview.Application.FullName }); }
internal async Task <ApplicationStatusConfirmationViewModel> GetApplicationStatusConfirmationViewModelAsync(ApplicationReviewStatusConfirmationEditModel m) { await _utility.GetAuthorisedApplicationReviewAsync(m); var applicationReview = await _utility.GetAuthorisedApplicationReviewAsync(m); return(new ApplicationStatusConfirmationViewModel { CandidateFeedback = m.CandidateFeedback, Outcome = m.Outcome, ApplicationReviewId = m.ApplicationReviewId, Name = applicationReview.Application.FullName }); }