コード例 #1
0
        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());
        }