public void Before_each_test() { _apiClient = new Mock <IRoatpApiClient>(); _apiClient.Setup(x => x.DuplicateUKPRNCheck(It.IsAny <Guid>(), It.IsAny <long>())) .ReturnsAsync(new DuplicateCheckResponse { DuplicateFound = false, DuplicateOrganisationName = null }); _apiClient.Setup(x => x.DuplicateCompanyNumberCheck(It.IsAny <Guid>(), It.IsAny <string>())) .ReturnsAsync(new DuplicateCheckResponse { DuplicateFound = false, DuplicateOrganisationName = null }); _apiClient.Setup(x => x.DuplicateCharityNumberCheck(It.IsAny <Guid>(), It.IsAny <string>())) .ReturnsAsync(new DuplicateCheckResponse { DuplicateFound = false, DuplicateOrganisationName = null }); _validator = new AddOrganisationValidator(_apiClient.Object, new RoatpOrganisationValidator()); _viewModel = new AddOrganisationViewModel { LegalName = "Legal name", ProviderTypeId = 1, CharityNumber = "11223311-1", CompanyNumber = "AB123456", TradingName = "Trading Name", OrganisationTypeId = 0, UKPRN = "10002000", OrganisationId = Guid.NewGuid() }; }
public async Task <IActionResult> AddOrganisationDetails(AddOrganisationViewModel model) { var validationMessages = _validator.ValidateProviderType(model.ProviderTypeId); if (validationMessages.Any()) { model.ValidationErrors = new List <string>(); model.ValidationErrors.AddRange(validationMessages); model.ProviderTypes = await _apiClient.GetProviderTypes(); return(View("AddOrganisation", model)); } model.OrganisationTypes = await _apiClient.GetOrganisationTypes(model.ProviderTypeId); var sessionModel = _sessionService.GetAddOrganisationDetails(model.OrganisationId); if (sessionModel.ProviderTypeId != model.ProviderTypeId) { sessionModel.OrganisationTypeId = 0; } _sessionService.SetAddOrganisationDetails(model); return(View(model)); }
private Organisation CreateOrganisationFromModel(AddOrganisationViewModel model) { var organisation = new Organisation { Id = Guid.NewGuid(), LegalName = model.LegalName, TradingName = model.TradingName, OrganisationData = new OrganisationData { CharityNumber = model.CharityNumber, CompanyNumber = model.CompanyNumber, FinancialTrackRecord = true, NonLevyContract = false, ParentCompanyGuarantee = false }, UKPRN = Convert.ToInt64(model.UKPRN), OrganisationStatus = new OrganisationStatus { Id = 1 }, // Active StatusDate = DateTime.Now, OrganisationType = new OrganisationType { Id = model.OrganisationTypeId }, ProviderType = new ProviderType { Id = model.ProviderTypeId } }; return(organisation); }
private static void UpdateAddOrganisationModelFromProviderTypeModel(AddOrganisationViewModel addOrganisationModel, AddOrganisationProviderTypeViewModel model) { if (string.IsNullOrEmpty(addOrganisationModel.LegalName)) { addOrganisationModel.LegalName = model.LegalName; } if (string.IsNullOrEmpty(addOrganisationModel.TradingName)) { addOrganisationModel.TradingName = model.TradingName; } if (string.IsNullOrEmpty(addOrganisationModel.CompanyNumber)) { addOrganisationModel.CompanyNumber = model.CompanyNumber; } if (string.IsNullOrEmpty(addOrganisationModel.CharityNumber)) { addOrganisationModel.CharityNumber = model.CharityNumber; } if (string.IsNullOrEmpty(addOrganisationModel.UKPRN)) { addOrganisationModel.UKPRN = model.UKPRN; } if (model.OrganisationId != Guid.Empty) { addOrganisationModel.OrganisationId = model.OrganisationId; } if (model.ProviderTypeId > 0) { addOrganisationModel.ProviderTypeId = model.ProviderTypeId; } }
private CreateOrganisationRequest CreateAddOrganisationRequestFromModel(AddOrganisationViewModel model) { var request = new CreateOrganisationRequest { Username = HttpContext.User.OperatorName(), Organisation = CreateOrganisationFromModel(model) }; return(request); }
public async Task <IActionResult> CreateOrganisation(AddOrganisationViewModel model) { var request = CreateAddOrganisationRequestFromModel(model); await _apiClient.CreateOrganisation(request); var bannerModel = new BannerViewModel { CreateOrganisationCompanyName = model.LegalName }; return(View("Index", bannerModel)); }
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> AddOrganisationType(AddOrganisationProviderTypeViewModel model) { var addOrganisationModel = new AddOrganisationViewModel(); if (string.IsNullOrEmpty(model.LegalName)) { addOrganisationModel = _sessionService.GetAddOrganisationDetails(); model.LegalName = addOrganisationModel.LegalName; model.ProviderTypeId = addOrganisationModel.ProviderTypeId; model.OrganisationTypeId = addOrganisationModel.OrganisationTypeId; } if (!IsRedirectFromConfirmationPage() && !ModelState.IsValid && model.ProviderTypeId == 0) { model.ProviderTypes = await _apiClient.GetProviderTypes(); return(View("~/Views/Roatp/AddProviderType.cshtml", model)); } addOrganisationModel = _sessionService.GetAddOrganisationDetails(); if (string.IsNullOrEmpty(addOrganisationModel?.LegalName)) { return(Redirect("organisations-details")); } UpdateAddOrganisationModelFromProviderTypeModel(addOrganisationModel, model); var organisationTypes = await _apiClient.GetOrganisationTypes(addOrganisationModel.ProviderTypeId); addOrganisationModel.OrganisationTypes = organisationTypes.ToList().OrderBy(x => x.Id != 0).ThenBy(x => x.Type); if (!addOrganisationModel.OrganisationTypes.Any(x => x.Id == addOrganisationModel.OrganisationTypeId)) { addOrganisationModel.OrganisationTypeId = 0; } _sessionService.SetAddOrganisationDetails(addOrganisationModel); ModelState.Clear(); var vm = Mapper.Map <AddOrganisationTypeViewModel>(addOrganisationModel); return(View("~/Views/Roatp/AddOrganisationType.cshtml", vm)); }
public async Task <IActionResult> AddOrganisationPreview(AddOrganisationViewModel model) { model.OrganisationTypes = await _apiClient.GetOrganisationTypes(model.ProviderTypeId); model.ProviderTypes = await _apiClient.GetProviderTypes(); model.LegalName = TextSanitiser.SanitiseText(model?.LegalName); model.TradingName = TextSanitiser.SanitiseText(model?.TradingName); if (!ModelState.IsValid) { model.ProviderTypes = await _apiClient.GetProviderTypes(); return(View("~/Views/Roatp/AddOrganisationDetails.cshtml", model)); } model.LegalName = model.LegalName.ToUpper(); _sessionService.SetAddOrganisationDetails(model); return(View("~/Views/Roatp/AddOrganisationPreview.cshtml", model)); }
public async Task <IActionResult> AddOrganisationDetails(AddOrganisationProviderTypeViewModel model) { if (!IsRedirectFromConfirmationPage() && !ModelState.IsValid) { model.ProviderTypes = await _apiClient.GetProviderTypes(); return(View("~/Views/Roatp/AddOrganisation.cshtml", model)); } var addOrganisationModel = _sessionService.GetAddOrganisationDetails(); if (addOrganisationModel == null) { addOrganisationModel = new AddOrganisationViewModel { OrganisationId = model.OrganisationId, ProviderTypeId = model.ProviderTypeId }; } else { if (model.OrganisationId != Guid.Empty) { addOrganisationModel.OrganisationId = model.OrganisationId; } if (model.ProviderTypeId > 0) { addOrganisationModel.ProviderTypeId = model.ProviderTypeId; } } addOrganisationModel.OrganisationTypes = await _apiClient.GetOrganisationTypes(addOrganisationModel.ProviderTypeId); _sessionService.SetAddOrganisationDetails(addOrganisationModel); ModelState.Clear(); return(View("~/Views/Roatp/AddOrganisationDetails.cshtml", addOrganisationModel)); }
private CreateRoatpOrganisationRequest CreateAddOrganisationRequestFromModel(AddOrganisationViewModel model) { var request = new CreateRoatpOrganisationRequest { CharityNumber = model.CharityNumber, CompanyNumber = model.CompanyNumber, FinancialTrackRecord = true, LegalName = model?.LegalName?.ToUpper(), NonLevyContract = false, OrganisationTypeId = model.OrganisationTypeId, ParentCompanyGuarantee = false, ProviderTypeId = model.ProviderTypeId, StatusDate = DateTime.Now, Ukprn = model.UKPRN, TradingName = model?.TradingName, Username = HttpContext.User.UserDisplayName(), SourceIsUKRLP = true, ApplicationDeterminedDate = model.ApplicationDeterminedDate }; return(request); }
public async Task <IActionResult> CreateOrganisation(AddOrganisationViewModel model) { model.LegalName = TextSanitiser.SanitiseText(model?.LegalName); model.TradingName = TextSanitiser.SanitiseText(model?.TradingName); var request = CreateAddOrganisationRequestFromModel(model); var success = await _apiClient.CreateOrganisation(request); if (!success) { return(RedirectToAction("Error", "Home")); } string bannerMessage = string.Format(RoatpConfirmationMessages.AddOrganisationConfirmation, model.LegalName.ToUpper()); var bannerModel = new OrganisationSearchViewModel { BannerMessage = bannerMessage }; _sessionService.ClearAddOrganisationDetails(); return(View("~/Views/Roatp/Index.cshtml", bannerModel)); }
public async Task <ValidationResponse> ValidateOrganisationDetails(AddOrganisationViewModel viewModel) { var validationResponse = new ValidationResponse { Errors = new List <ValidationErrorDetail>() }; var fieldValidationErrors = _organisationValidator.IsValidLegalName(viewModel.LegalName); if (fieldValidationErrors.Any()) { validationResponse.Errors.AddRange(fieldValidationErrors); } fieldValidationErrors = _organisationValidator.IsValidUKPRN(viewModel.UKPRN); if (fieldValidationErrors.Any()) { validationResponse.Errors.AddRange(fieldValidationErrors); } else { if (!String.IsNullOrWhiteSpace(viewModel.UKPRN)) { fieldValidationErrors = IsDuplicateUKPRN(viewModel.OrganisationId, viewModel.UKPRN); if (fieldValidationErrors.Any()) { validationResponse.Errors.AddRange(fieldValidationErrors); } } } fieldValidationErrors = _organisationValidator.IsValidCompanyNumber(viewModel.CompanyNumber); if (fieldValidationErrors.Any()) { validationResponse.Errors.AddRange(fieldValidationErrors); } else { if (!String.IsNullOrWhiteSpace(viewModel.CompanyNumber)) { fieldValidationErrors = IsDuplicateCompanyNumber(viewModel.OrganisationId, viewModel.CompanyNumber); if (fieldValidationErrors.Any()) { validationResponse.Errors.AddRange(fieldValidationErrors); } } } fieldValidationErrors = _organisationValidator.IsValidCharityNumber(viewModel.CharityNumber); if (fieldValidationErrors.Any()) { validationResponse.Errors.AddRange(fieldValidationErrors); } else { if (!String.IsNullOrWhiteSpace(viewModel.CharityNumber)) { fieldValidationErrors = IsDuplicateCharityNumber(viewModel.OrganisationId, viewModel.CharityNumber); if (fieldValidationErrors.Any()) { validationResponse.Errors.AddRange(fieldValidationErrors); } } } fieldValidationErrors = _organisationValidator.IsValidTradingName(viewModel.TradingName); if (fieldValidationErrors.Any()) { validationResponse.Errors.AddRange(fieldValidationErrors); } return(validationResponse); }
private static AddApplicationDeterminedDateViewModel MapOrganisationVmToApplicationDeterminedDateVm(AddOrganisationViewModel addOrganisationModel) { if (addOrganisationModel == null) { return(new AddApplicationDeterminedDateViewModel()); } int?determinedDay = null; int?determinedMonth = null; int?determinedYear = null; if (addOrganisationModel?.ApplicationDeterminedDate != null && addOrganisationModel.ApplicationDeterminedDate != DateTime.MinValue) { determinedDay = addOrganisationModel.ApplicationDeterminedDate.Value.Day; determinedMonth = addOrganisationModel.ApplicationDeterminedDate.Value.Month; determinedYear = addOrganisationModel.ApplicationDeterminedDate.Value.Year; } return(new AddApplicationDeterminedDateViewModel { CharityNumber = addOrganisationModel.CharityNumber, CompanyNumber = addOrganisationModel.CompanyNumber, LegalName = addOrganisationModel.LegalName, OrganisationId = addOrganisationModel.OrganisationId, OrganisationTypeId = addOrganisationModel.OrganisationTypeId, OrganisationTypes = addOrganisationModel.OrganisationTypes, ProviderTypeId = addOrganisationModel.ProviderTypeId, ProviderTypes = addOrganisationModel.ProviderTypes, TradingName = addOrganisationModel.TradingName, UKPRN = addOrganisationModel.UKPRN, Day = determinedDay, Month = determinedMonth, Year = determinedYear }); }
public void SetAddOrganisationDetails(AddOrganisationViewModel model) { var modelJson = JsonConvert.SerializeObject(model); _sessionService.Set(_addOrganisationSessionKey, modelJson); }