public RoatpApplicationPreambleController(ILogger <RoatpApplicationPreambleController> logger, IRoatpApiClient roatpApiClient, IUkrlpApiClient ukrlpApiClient, ISessionService sessionService, ICompaniesHouseApiClient companiesHouseApiClient, ICharityCommissionApiClient charityCommissionApiClient, IOrganisationApiClient organisationApiClient, IUsersApiClient usersApiClient, IApplicationApiClient applicationApiClient, IQnaApiClient qnaApiClient, IUkprnWhitelistValidator ukprnWhitelistValidator, IResetRouteQuestionsService resetRouteQuestionsService) : base(sessionService) { _logger = logger; _roatpApiClient = roatpApiClient; _ukrlpApiClient = ukrlpApiClient; _sessionService = sessionService; _companiesHouseApiClient = companiesHouseApiClient; _charityCommissionApiClient = charityCommissionApiClient; _organisationApiClient = organisationApiClient; _usersApiClient = usersApiClient; _applicationApiClient = applicationApiClient; _qnaApiClient = qnaApiClient; _ukprnWhitelistValidator = ukprnWhitelistValidator; _resetRouteQuestionsService = resetRouteQuestionsService; }
public EnterNewUkprnViewModelValidator(IUkprnWhitelistValidator ukprnWhitelistValidator) { RuleFor(x => x.Ukprn) .Cascade(CascadeMode.StopOnFirstFailure) .NotEmpty().WithMessage(UkprnValidationMessages.MissingUkprn) .Must(x => UkprnValidator.IsValidUkprn(x, out _)).WithMessage(UkprnValidationMessages.InvalidUkprn) .Must(((model, s) => s.Trim() != model.CurrentUkprn)) .WithMessage(UkprnValidationMessages.NewUkprnMustNotBeSame) .MustAsync(async(s, token) => await ukprnWhitelistValidator.IsWhitelistedUkprn(long.Parse(s))) .WithMessage(UkprnValidationMessages.NotWhitelistedUkprn); }