public FluentVacancyValidator(
            ITimeProvider timeProvider,
            IMinimumWageProvider minimumWageService,
            IApprenticeshipProgrammeProvider apprenticeshipProgrammesProvider,
            IQualificationsProvider qualificationsProvider,
            IHtmlSanitizerService htmlSanitizerService,
            ITrainingProviderSummaryProvider trainingProviderSummaryProvider,
            IBlockedOrganisationQuery blockedOrganisationRepo,
            IProfanityListProvider profanityListProvider,
            IProviderRelationshipsService providerRelationshipService)
        {
            _timeProvider                     = timeProvider;
            _minimumWageService               = minimumWageService;
            _qualificationsProvider           = qualificationsProvider;
            _apprenticeshipProgrammesProvider = apprenticeshipProgrammesProvider;
            _htmlSanitizerService             = htmlSanitizerService;
            _trainingProviderSummaryProvider  = trainingProviderSummaryProvider;
            _blockedOrganisationRepo          = blockedOrganisationRepo;
            _profanityListProvider            = profanityListProvider;
            _providerRelationshipService      = providerRelationshipService;

            SingleFieldValidations();

            CrossFieldValidations();
        }
示例#2
0
        public QualificationValidatorBase(long ruleId, IQualificationsProvider qualificationsProvider, IProfanityListProvider profanityListProvider)
        {
            _qualificationTypes = qualificationsProvider.GetQualificationsAsync().Result ?? new List <string>();

            RuleFor(x => x.QualificationType)
            .Cascade(CascadeMode.StopOnFirstFailure)
            .NotEmpty()
            .WithMessage("Select a qualification")
            .WithErrorCode("53")
            .Must(_qualificationTypes.Contains)
            .WithMessage("Invalid qualification type")
            .WithErrorCode("57")
            .WithRuleId(ruleId);

            RuleFor(x => x.Subject)
            .NotEmpty()
            .WithMessage("Enter the subject")
            .WithErrorCode("54")
            .MaximumLength(50)
            .WithMessage("The qualification must not exceed {MaxLength} characters")
            .WithErrorCode("7")
            .ValidFreeTextCharacters()
            .WithMessage("Subject contains some invalid characters")
            .WithErrorCode("6")
            .ProfanityCheck(profanityListProvider)
            .WithMessage("Subject must not contain a banned word or phrase.")
            .WithErrorCode("618")
            .WithRuleId(ruleId);

            RuleFor(x => x.Grade)
            .NotEmpty()
            .WithMessage("Enter the grade")
            .WithErrorCode("55")
            .MaximumLength(30)
            .WithMessage("The grade should be no longer than {MaxLength} characters")
            .WithErrorCode("7")
            .ValidFreeTextCharacters()
            .WithMessage("Grade contains some invalid characters")
            .WithErrorCode("6")
            .ProfanityCheck(profanityListProvider)
            .WithMessage("Grade must not contain a banned word or phrase.")
            .WithErrorCode("619")
            .WithRuleId(ruleId);

            When(x => x.QualificationType != null && x.QualificationType.Contains("GCSE"), () =>
            {
                RuleFor(x => x.Grade)
                .Matches("[1-9]")
                .WithMessage("GCSEs must include the 1-9 grading system")
                .WithErrorCode("115")
                .WithRuleId(ruleId);
            });

            RuleFor(x => x.Weighting)
            .NotEmpty()
            .WithMessage("Select if this qualification is essential or desirable")
            .WithErrorCode("56")
            .WithRuleId(ruleId);
        }
        public FluentVacancyValidator(ITimeProvider timeProvider, IMinimumWageProvider minimumWageService, IApprenticeshipProgrammeProvider apprenticeshipProgrammesProvider, IQualificationsProvider qualificationsProvider, IHtmlSanitizerService htmlSanitizerService)
        {
            _timeProvider             = timeProvider;
            _minimumWageService       = minimumWageService;
            _qualificationsProvider   = qualificationsProvider;
            _apprenticeshipProgrammes = new Lazy <IEnumerable <IApprenticeshipProgramme> >(() => apprenticeshipProgrammesProvider.GetApprenticeshipProgrammesAsync().Result);
            _htmlSanitizerService     = htmlSanitizerService;

            SingleFieldValidations();

            CrossFieldValidations();
        }
示例#4
0
 public VacancyClient(
     IVacancyRepository repository,
     IVacancyQuery vacancyQuery,
     IQueryStoreReader reader,
     IMessaging messaging,
     IEntityValidator <Vacancy, VacancyRuleSet> validator,
     IApprenticeshipProgrammeProvider apprenticeshipProgrammesProvider,
     IEmployerAccountProvider employerAccountProvider,
     IApplicationReviewRepository applicationReviewRepository,
     IVacancyReviewQuery vacancyReviewQuery,
     ICandidateSkillsProvider candidateSkillsProvider,
     IVacancyService vacancyService,
     IEmployerDashboardProjectionService employerDashboardService,
     IProviderDashboardProjectionService providerDashboardService,
     IEmployerProfileRepository employerProfileRepository,
     IUserRepository userRepository,
     IQualificationsProvider qualificationsProvider,
     ITrainingProviderService trainingProviderService,
     IEmployerService employerService,
     IReportRepository reportRepository,
     IReportService reportService,
     IUserNotificationPreferencesRepository userNotificationPreferencesRepository,
     AbstractValidator <UserNotificationPreferences> userNotificationPreferencesValidator,
     ITrainingProviderSummaryProvider trainingProviderSummaryProvider,
     AbstractValidator <Qualification> qualificationValidator)
 {
     _repository   = repository;
     _vacancyQuery = vacancyQuery;
     _reader       = reader;
     _messaging    = messaging;
     _validator    = validator;
     _apprenticeshipProgrammesProvider = apprenticeshipProgrammesProvider;
     _employerAccountProvider          = employerAccountProvider;
     _applicationReviewRepository      = applicationReviewRepository;
     _vacancyReviewQuery                    = vacancyReviewQuery;
     _candidateSkillsProvider               = candidateSkillsProvider;
     _vacancyService                        = vacancyService;
     _employerDashboardService              = employerDashboardService;
     _providerDashboardService              = providerDashboardService;
     _employerProfileRepository             = employerProfileRepository;
     _userRepository                        = userRepository;
     _qualificationsProvider                = qualificationsProvider;
     _trainingProviderService               = trainingProviderService;
     _employerService                       = employerService;
     _reportRepository                      = reportRepository;
     _reportService                         = reportService;
     _userNotificationPreferencesRepository = userNotificationPreferencesRepository;
     _userNotificationPreferencesValidator  = userNotificationPreferencesValidator;
     _trainingProviderSummaryProvider       = trainingProviderSummaryProvider;
     _qualificationValidator                = qualificationValidator;
 }
示例#5
0
 public QualificationValidatorBase(IQualificationsProvider qualificationsProvider, IProfanityListProvider profanityListProvider)
     : this(0, qualificationsProvider, profanityListProvider)
 {
 }
示例#6
0
 public VacancyQualificationsValidator(long ruleId, IQualificationsProvider qualificationsProvider, IProfanityListProvider profanityListProvider)
     : base(ruleId, qualificationsProvider, profanityListProvider)
 {
 }
示例#7
0
 public QualificationValidator(IQualificationsProvider qualificationsProvider, IProfanityListProvider profanityListProvider)
     : base(qualificationsProvider, profanityListProvider)
 {
 }
 public QualificationValidatorBase(IQualificationsProvider qualificationsProvider)
     : this(0, qualificationsProvider)
 {
 }
 public VacancyQualificationsValidator(long ruleId, IQualificationsProvider qualificationsProvider)
     : base(ruleId, qualificationsProvider)
 {
 }
 public QualificationValidator(IQualificationsProvider qualificationsProvider)
     : base(qualificationsProvider)
 {
 }