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)); }
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")); }