public async Task <IActionResult> AddOrganisation(AddOrganisationViewModel model) { if (model == null) { model = new AddOrganisationViewModel(); } model.ProviderTypes = await _apiClient.GetProviderTypes(); _sessionService.SetAddOrganisationDetails(model); return(View(model)); }
public async Task <IActionResult> UkprnPreview(AddOrganisationViaUkprnViewModel model) { if (!IsRedirectFromConfirmationPage() && !ModelState.IsValid) { var addOrganisationModel = _sessionService.GetAddOrganisationDetails(); if (addOrganisationModel?.UKPRN != null) { model.UKPRN = addOrganisationModel.UKPRN.Trim(); } return(View("~/Views/Roatp/EnterUkprn.cshtml", model)); } AssessorService.Api.Types.Models.UKRLP.UkrlpProviderDetails details; try { _sessionService.SetAddOrganisationDetails(new AddOrganisationViewModel { UKPRN = model.UKPRN.Trim() }); var fullProviderDetails = await _apiClient .GetUkrlpProviderDetails(model.UKPRN.Trim()); details = _ukrlpProcessingService.ProcessDetails(fullProviderDetails.ToList()); } catch (HttpRequestException ex) { _logger.LogError(ex, $"Failed to gather organisation details from ukrlp for UKPRN:[{model?.UKPRN}]"); return(RedirectToAction("UklrpIsUnavailable")); } if (string.IsNullOrEmpty(details.LegalName)) { return(Redirect("/ukprn-not-found")); } _sessionService.SetAddOrganisationDetails(new AddOrganisationViewModel { UKPRN = model.UKPRN, LegalName = details.LegalName, TradingName = details.TradingName, CompanyNumber = details.CompanyNumber, CharityNumber = details.CharityNumber }); var vm = new AddOrganisationProviderTypeViewModel { UKPRN = model.UKPRN, LegalName = details.LegalName, TradingName = details.TradingName, CompanyNumber = details.CompanyNumber, CharityNumber = details.CharityNumber }; return(View("~/Views/Roatp/UkprnPreview.cshtml", vm)); }