public BulkDeclineCandidatesViewModel SendBulkUnsuccessfulDecision(BulkDeclineCandidatesViewModel bulkDeclineCandidatesViewModel)
 {
     foreach (var application in bulkDeclineCandidatesViewModel.SelectedApplicationIds)
     {
         _apprenticeshipApplicationService.SetUnsuccessfulDecision(application, bulkDeclineCandidatesViewModel.UnSuccessfulReason);
     }
     return(bulkDeclineCandidatesViewModel);
 }
        public ActionResult ConfirmBulkDeclineCandidates(BulkDeclineCandidatesViewModel bulkDeclineCandidatesViewModel)
        {
            var response = _applicationMediator.ConfirmBulkDeclineCandidates(bulkDeclineCandidatesViewModel);

            switch (response.Code)
            {
            case ApprenticeshipApplicationMediatorCodes.ConfirmBulkDeclineCandidates.Ok:
                return(View("ConfirmBulkUnsuccessfulDecision", response.ViewModel));

            case ApprenticeshipApplicationMediatorCodes.ConfirmBulkDeclineCandidates.FailedValidation:
                response.ValidationResult.AddToModelState(ModelState, string.Empty);
                return(View("BulkDeclineCandidates", response.ViewModel));

            default:
                throw new InvalidOperationException();
            }
        }
        public ActionResult SendBulkUnsuccessfulDecision(BulkDeclineCandidatesViewModel bulkDeclineCandidatesViewModel)
        {
            bulkDeclineCandidatesViewModel.UnSuccessfulReasonRequired = true;
            var response = _applicationMediator.SendBulkUnsuccessfulDecision(bulkDeclineCandidatesViewModel);

            switch (response.Code)
            {
            case ApprenticeshipApplicationMediatorCodes.SendBulkUnsuccessfulDecision.Ok:
            {
                return(View("SentDecisionConfirmation", response.ViewModel));
            }

            case ApprenticeshipApplicationMediatorCodes.SendBulkUnsuccessfulDecision.FailedValidation:
                response.ValidationResult.AddToModelState(ModelState, string.Empty);
                return(View("ConfirmBulkUnsuccessfulDecision", response.ViewModel));

            default:
                throw new InvalidMediatorCodeException(response.Code);
            }
        }
        public BulkDeclineCandidatesViewModel GetBulkDeclineCandidatesViewModel(BulkDeclineCandidatesViewModel bulkDeclineCandidatesViewModel)
        {
            var vacancyApplicationsViewModel = GetVacancyApplicationsViewModel(bulkDeclineCandidatesViewModel.VacancyApplicationsSearch, false);

            var viewModel = new BulkDeclineCandidatesViewModel
            {
                VacancyApplicationsSearch = bulkDeclineCandidatesViewModel.VacancyApplicationsSearch,
                VacancyType                 = vacancyApplicationsViewModel.VacancyType,
                Title                       = vacancyApplicationsViewModel.Title,
                EmployerName                = vacancyApplicationsViewModel.EmployerName,
                NewApplicationsCount        = vacancyApplicationsViewModel.NewApplicationsCount,
                InProgressApplicationsCount = vacancyApplicationsViewModel.InProgressApplicationsCount,
                ApplicationSummaries        = vacancyApplicationsViewModel.ApplicationSummaries.Page.Where(a => a.Status == ApplicationStatuses.Submitted || a.Status == ApplicationStatuses.InProgress),
                SelectedApplicationIds      = bulkDeclineCandidatesViewModel.SelectedApplicationIds ?? new List <Guid>(),
                UnSuccessfulReason          = bulkDeclineCandidatesViewModel.UnSuccessfulReason
            };

            viewModel.SelectedApplicationIds = viewModel.SelectedApplicationIds.Distinct();

            return(viewModel);
        }
 public ActionResult BulkFilterApplicationsAll(BulkDeclineCandidatesViewModel bulkDeclineCandidatesViewModel)
 {
     bulkDeclineCandidatesViewModel.VacancyApplicationsSearch.FilterType = VacancyApplicationsFilterTypes.All;
     return(BulkDeclineCandidates(bulkDeclineCandidatesViewModel));
 }
        public ActionResult BulkDeclineCandidates(BulkDeclineCandidatesViewModel bulkDeclineCandidatesViewModel)
        {
            var response = _applicationMediator.GetBulkDeclineCandidatesViewModel(bulkDeclineCandidatesViewModel);

            return(View(response.ViewModel));
        }
 public ActionResult EditBulkDeclineCandidates(BulkDeclineCandidatesViewModel bulkDeclineCandidatesViewModel)
 {
     return(BulkDeclineCandidates(bulkDeclineCandidatesViewModel));
 }
 public ActionResult BulkOrderApplicationsStatus(BulkDeclineCandidatesViewModel bulkDeclineCandidatesViewModel)
 {
     bulkDeclineCandidatesViewModel.VacancyApplicationsSearch.OrderByField = VacancyApplicationsSearchViewModel.OrderByFieldStatus;
     bulkDeclineCandidatesViewModel.VacancyApplicationsSearch.Order        = bulkDeclineCandidatesViewModel.VacancyApplicationsSearch.Order == Order.Ascending ? Order.Descending : Order.Ascending;;
     return(BulkDeclineCandidates(bulkDeclineCandidatesViewModel));
 }
        public MediatorResponse <BulkDeclineCandidatesViewModel> ConfirmBulkDeclineCandidates(BulkDeclineCandidatesViewModel bulkDeclineCandidatesViewModel)
        {
            var viewModel = _applicationProvider.GetBulkDeclineCandidatesViewModel(bulkDeclineCandidatesViewModel);
            var originalSelectedApplicationIds = viewModel.SelectedApplicationIds.ToList();

            viewModel.SelectedApplicationIds = viewModel.SelectedApplicationIds.Where(aid => viewModel.ApplicationSummaries.Any(a => a.ApplicationId == aid)).ToList();
            var validationResult = _bulkDeclineCandidatesViewModelServerValidator.Validate(viewModel);

            if (!validationResult.IsValid)
            {
                viewModel.SelectedApplicationIds = originalSelectedApplicationIds;
                return(GetMediatorResponse(ApprenticeshipApplicationMediatorCodes.ConfirmBulkDeclineCandidates.FailedValidation, viewModel, validationResult));
            }

            return(GetMediatorResponse(ApprenticeshipApplicationMediatorCodes.ConfirmBulkDeclineCandidates.Ok, viewModel));
        }
        public MediatorResponse <BulkDeclineCandidatesViewModel> GetBulkDeclineCandidatesViewModel(BulkDeclineCandidatesViewModel bulkDeclineCandidatesViewModel)
        {
            var viewModel = _applicationProvider.GetBulkDeclineCandidatesViewModel(bulkDeclineCandidatesViewModel);

            return(GetMediatorResponse(ApprenticeshipApplicationMediatorCodes.GetBulkDeclineCandidatesViewModel.Ok, viewModel));
        }
        public MediatorResponse <BulkDeclineCandidatesViewModel> SendBulkUnsuccessfulDecision(BulkDeclineCandidatesViewModel bulkDeclineCandidatesViewModel)
        {
            var viewModel = _applicationProvider.GetBulkDeclineCandidatesViewModel(bulkDeclineCandidatesViewModel);

            var validationResult = _bulkDeclineCandidatesViewModelServerValidator.Validate(bulkDeclineCandidatesViewModel);

            if (!validationResult.IsValid)
            {
                return(GetMediatorResponse(ApprenticeshipApplicationMediatorCodes.SendBulkUnsuccessfulDecision.FailedValidation, viewModel, validationResult));
            }

            viewModel = _applicationProvider.SendBulkUnsuccessfulDecision(viewModel);

            return(GetMediatorResponse(ApprenticeshipApplicationMediatorCodes.SendBulkUnsuccessfulDecision.Ok, viewModel));
        }