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(); }
public WageOrchestrator(IEmployerVacancyClient client, IRecruitVacancyClient vacancyClient, ILogger <WageOrchestrator> logger, IReviewSummaryService reviewSummaryService, IMinimumWageProvider minimumWageProvider) : base(logger) { _client = client; _vacancyClient = vacancyClient; _reviewSummaryService = reviewSummaryService; _minimumWageProvider = minimumWageProvider; }
public WageOrchestrator(IRecruitVacancyClient vacancyClient, ILogger <WageOrchestrator> logger, IReviewSummaryService reviewSummaryService, IMinimumWageProvider minimumWageProvider, IUtility utility) : base(logger) { _vacancyClient = vacancyClient; _reviewSummaryService = reviewSummaryService; _minimumWageProvider = minimumWageProvider; _utility = utility; }
public SearchResultPreviewOrchestrator(IEmployerVacancyClient client, IRecruitVacancyClient vacancyClient, IGeocodeImageService mapService, IMinimumWageProvider wageProvider) { _client = client; _vacancyClient = vacancyClient; _mapService = mapService; _wageProvider = wageProvider; }
public EmployeeBonusesCalculator( IDateTimeProvider dateTimeProvider, IMinimumWageProvider minimumWageProvider, IEmployeesRepository employeesRepository) { _dateTimeProvider = dateTimeProvider; _minimumWageProvider = minimumWageProvider; _employeesRepository = employeesRepository; }
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(); }
public ReviewMapper(ILogger <ReviewMapper> logger, IQaVacancyClient vacancyClient, IGeocodeImageService mapService, IMinimumWageProvider wageProvider, IRuleMessageTemplateRunner ruleTemplateRunner, IReviewSummaryService reviewSummaryService) { _logger = logger; _vacancyClient = vacancyClient; _mapService = mapService; _wageProvider = wageProvider; _qualifications = new Lazy <IList <string> >(() => _vacancyClient.GetCandidateQualificationsAsync().Result.QualificationTypes); _ruleTemplateRunner = ruleTemplateRunner; _reviewSummaryService = reviewSummaryService; }
internal static IRuleBuilderInitial <Vacancy, Vacancy> FixedWageMustBeGreaterThanApprenticeshipMinimumWage(this IRuleBuilder <Vacancy, Vacancy> ruleBuilder, IMinimumWageProvider minimumWageService) { return(ruleBuilder.Custom((vacancy, context) => { var wagePeriod = minimumWageService.GetWagePeriod(vacancy.StartDate.Value); if (vacancy.Wage.FixedWageYearlyAmount == null || vacancy.Wage.FixedWageYearlyAmount / 52 / vacancy.Wage.WeeklyHours < wagePeriod.ApprenticeshipMinimumWage) { var minimumYearlyWageForApprentices = WagePresenter.GetDisplayText(WageType.ApprenticeshipMinimum, WageUnit.Annually, new WageDetails { HoursPerWeek = vacancy.Wage.WeeklyHours, StartDate = vacancy.StartDate.Value }).AsWholeMoneyAmount(); var errorMessage = (vacancy.Status == VacancyStatus.Live) ? $"National Minimum Wage is changing from {wagePeriod.ValidFrom:d MMM yyyy}. So the fixed wage you entered before will no longer be valid. Change the date to before {wagePeriod.ValidFrom:d MMM yyyy} or to change the wage, create a new vacancy." : $"Yearly wage must be at least {minimumYearlyWageForApprentices}"; var failure = new ValidationFailure(string.Empty, errorMessage) { ErrorCode = "49", CustomState = VacancyRuleSet.MinimumWage, PropertyName = $"{nameof(Wage)}.{nameof(Wage.FixedWageYearlyAmount)}" }; context.AddFailure(failure); } })); }
internal static IRuleBuilderInitial <Vacancy, Vacancy> FixedWageMustBeGreaterThanApprenticeshipMinimumWage(this IRuleBuilder <Vacancy, Vacancy> ruleBuilder, IMinimumWageProvider minimumWageService) { return(ruleBuilder.Custom((vacancy, context) => { var wagePeriod = minimumWageService.GetWagePeriod(vacancy.StartDate.Value); if (vacancy.Wage.FixedWageYearlyAmount == null || vacancy.Wage.FixedWageYearlyAmount / 52 / vacancy.Wage.WeeklyHours < wagePeriod.ApprenticeshipMinimumWage) { var errorMessage = (vacancy.Status == VacancyStatus.Live) ? $"National Minimum Wage is changing from {wagePeriod.ValidFrom:d MMM yyyy}. So the fixed wage you entered before will no longer be valid. Change the date to before {wagePeriod.ValidFrom:d MMM yyyy} or to change the wage, create a new vacancy." : $"The wage should not be less than the new National Minimum Wage for apprentices effective from {wagePeriod.ValidFrom:d MMM yyyy}"; var failure = new ValidationFailure(string.Empty, errorMessage) { ErrorCode = "49", CustomState = VacancyRuleSet.MinimumWage }; context.AddFailure(failure); } })); }