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 ProviderBlockedOnLegalEntityDomainEventHandler( IEmployerAccountProvider employerAccountProvider, IProviderRelationshipsService providerRelationshipsService, ILogger <ProviderBlockedOnLegalEntityDomainEventHandler> logger) : base(logger) { _logger = logger; _employerAccountProvider = employerAccountProvider; _providerRelationshipsService = providerRelationshipsService; }
public SetupProviderHandler(ILogger <SetupProviderHandler> logger, IEditVacancyInfoProjectionService projectionService, IProviderRelationshipsService providerRelationshipService, IEmployerVacancyClient client, IPasAccountProvider pasAccountProvider) : base(logger) { _logger = logger; _projectionService = projectionService; _providerRelationshipService = providerRelationshipService; _client = client; _pasAccountProvider = pasAccountProvider; }
public VacanciesOrchestrator( IProviderVacancyClient providerVacancyClient, IRecruitVacancyClient recruitVacancyClient, ITimeProvider timeProvider, IProviderAlertsViewModelFactory providerAlertsViewModelFactory, IProviderRelationshipsService providerRelationshipsService) { _providerVacancyClient = providerVacancyClient; _recruitVacancyClient = recruitVacancyClient; _timeProvider = timeProvider; _providerAlertsViewModelFactory = providerAlertsViewModelFactory; _providerRelationshipsService = providerRelationshipsService; }
public DashboardOrchestrator( IEmployerVacancyClient vacancyClient, ITimeProvider timeProvider, IRecruitVacancyClient client, IEmployerAlertsViewModelFactory alertsViewModelFactory, IProviderRelationshipsService providerRelationshipsService) { _vacancyClient = vacancyClient; _timeProvider = timeProvider; _client = client; _alertsViewModelFactory = alertsViewModelFactory; _providerRelationshipsService = providerRelationshipsService; }
public VacancyPreviewOrchestrator( IProviderVacancyClient client, IRecruitVacancyClient vacancyClient, ILogger <VacancyPreviewOrchestrator> logger, DisplayVacancyViewModelMapper vacancyDisplayMapper, IReviewSummaryService reviewSummaryService, IProviderRelationshipsService providerRelationshipsService, ILegalEntityAgreementService legalEntityAgreementService, ITrainingProviderAgreementService trainingProviderAgreementService, IMessaging messaging) : base(logger) { _client = client; _vacancyClient = vacancyClient; _vacancyDisplayMapper = vacancyDisplayMapper; _reviewSummaryService = reviewSummaryService; _providerRelationshipsService = providerRelationshipsService; _legalEntityAgreementService = legalEntityAgreementService; _trainingProviderAgreementService = trainingProviderAgreementService; _messaging = messaging; }
public CreateVacancyCommandHandler( IRecruitVacancyClient recruitVacancyClient, IEmployerVacancyClient employerVacancyClient, IVacancyRepository vacancyRepository, IMessaging messaging, ITimeProvider timeProvider, ITrainingProviderService trainingProviderService, IProviderVacancyClient providerVacancyClient, IProviderRelationshipsService providerRelationshipsService, ILogger <CreateVacancyCommandHandler> logger) { _recruitVacancyClient = recruitVacancyClient; _employerVacancyClient = employerVacancyClient; _vacancyRepository = vacancyRepository; _messaging = messaging; _timeProvider = timeProvider; _trainingProviderService = trainingProviderService; _providerVacancyClient = providerVacancyClient; _providerRelationshipsService = providerRelationshipsService; _logger = logger; }
internal static IRuleBuilderInitial <Vacancy, Vacancy> TrainingProviderVacancyMustHaveEmployerPermission(this IRuleBuilder <Vacancy, Vacancy> ruleBuilder, IProviderRelationshipsService providerRelationshipService) { return(ruleBuilder.CustomAsync(async(vacancy, context, cancellationToken) => { if (vacancy.OwnerType != OwnerType.Provider) { return; } var hasPermission = await providerRelationshipService.HasProviderGotEmployersPermissionAsync(vacancy.TrainingProvider.Ukprn.Value, vacancy.EmployerAccountId, vacancy.AccountLegalEntityPublicHashedId, OperationType.Recruitment); if (hasPermission) { return; } var failure = new ValidationFailure(string.Empty, "Training provider does not have permission to create vacancies for this employer") { ErrorCode = ErrorCodes.TrainingProviderMustHaveEmployerPermission, CustomState = VacancyRuleSet.TrainingProvider }; context.AddFailure(failure); })); }