public ActionResult TransferVacancies(TransferVacanciesViewModel viewModel) { if (ModelState.IsValid) { var response = _adminMediator.GetVacancyDetails(viewModel); if (response.ViewModel.NotFoundVacancyNumbers.Any()) { SetUserMessage("No vacancies found for the given vacancy reference numbers: " + $"{string.Join(", ", response.ViewModel.NotFoundVacancyNumbers)}", UserMessageLevel.Error); } ModelState.Clear(); switch (response.Code) { case AdminMediatorCodes.GetVacancyDetails.NoRecordsFound: SetUserMessage(response.Message.Text, response.Message.Level); return(View()); case AdminMediatorCodes.GetVacancyDetails.Ok: return(View("ConfirmVacancies", response.ViewModel)); case AdminMediatorCodes.GetVacancyDetails.FailedAuthorisation: SetUserMessage(response.Message.Text, response.Message.Level); return(View()); default: throw new InvalidMediatorCodeException(response.Code); } } return(View()); }