예제 #1
0
        public async Task <IActionResult> ChosenToRemainOnRegister()
        {
            var applicationDetails = _sessionService.Get <ApplicationDetails>(ApplicationDetailsKey);

            var providerRoutes = await _roatpApiClient.GetApplicationRoutes();

            var existingProviderRoute = providerRoutes.FirstOrDefault(x => x.Id == applicationDetails.RoatpRegisterStatus.ProviderTypeId);

            var model = new ChangeProviderRouteViewModel
            {
                UKPRN = applicationDetails.UKPRN.ToString(),
                CurrentProviderType = existingProviderRoute
            };

            return(View("~/Views/Roatp/ChosenToRemainOnRegister.cshtml", model));
        }
예제 #2
0
        public async Task <IActionResult> ChangeProviderRoute(ChangeProviderRouteViewModel model)
        {
            var applicationDetails = _sessionService.Get <ApplicationDetails>(ApplicationDetailsKey);

            if (!ModelState.IsValid)
            {
                var providerRoutes = await _roatpApiClient.GetApplicationRoutes();

                var existingProviderRoute = providerRoutes.FirstOrDefault(x => x.Id == applicationDetails.RoatpRegisterStatus.ProviderTypeId);

                model = new ChangeProviderRouteViewModel
                {
                    UKPRN = applicationDetails.UKPRN.ToString(),
                    CurrentProviderType = existingProviderRoute,
                    ErrorMessages       = new List <ValidationErrorDetail>()
                };

                var modelErrors = ModelState.Values.SelectMany(v => v.Errors);
                foreach (var modelError in modelErrors)
                {
                    model.ErrorMessages.Add(new ValidationErrorDetail
                    {
                        Field        = "ChangeApplicationRoute",
                        ErrorMessage = modelError.ErrorMessage
                    });
                }

                return(View("~/Views/Roatp/ProviderAlreadyOnRegister.cshtml", model));
            }

            if (model.ChangeApplicationRoute != "Y")
            {
                return(RedirectToAction("ConditionsOfAcceptance", new { applicationRouteId = applicationDetails?.RoatpRegisterStatus?.ProviderTypeId.Value }));
            }

            return(RedirectToAction("SelectApplicationRoute"));
        }