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)); }
public async Task <IActionResult> EnterUkprn() { ModelState.Clear(); var model = new AddOrganisationViaUkprnViewModel(); var addOrganisationModel = _sessionService.GetAddOrganisationDetails(); if (addOrganisationModel?.UKPRN != null) { model.UKPRN = addOrganisationModel.UKPRN.Trim(); } return(View("~/Views/Roatp/EnterUkprn.cshtml", model)); }
public void Validator_passes_valid_ukprn() { var errors = new List <ValidationErrorDetail>(); _roatpOrganisationValidator.Setup(x => x.IsValidUKPRN(It.IsAny <string>())).Returns(errors); _viewModel = new AddOrganisationViaUkprnViewModel { UKPRN = "11112222" }; var validator = new AddOrganisationViaUkprnViewModelValidator(_roatpOrganisationValidator.Object, _apiClient.Object); var validationResult = validator.Validate(_viewModel); Assert.AreEqual(0, validationResult.Errors.Count); }
public void Validator_fails_invalid_ukprn() { var errors = new List <ValidationErrorDetail> { new ValidationErrorDetail { Field = "ukprn", ErrorMessage = "wrong length" } }; _roatpOrganisationValidator.Setup(x => x.IsValidUKPRN(It.IsAny <string>())).Returns(errors); _viewModel = new AddOrganisationViaUkprnViewModel { UKPRN = "111222" }; var validator = new AddOrganisationViaUkprnViewModelValidator(_roatpOrganisationValidator.Object, _apiClient.Object); var validationResult = validator.Validate(_viewModel); Assert.AreEqual(1, validationResult.Errors.Count); }