Ejemplo n.º 1
0
        public PublishedProviderProfilingService(IPublishedFundingRepository publishedFundingRepository,
                                                 IPublishedProviderErrorDetection publishedProviderErrorDetection,
                                                 IProfilingService profilingService,
                                                 IPublishedProviderVersioningService publishedProviderVersioningService,
                                                 ISpecificationsApiClient specificationsApiClient,
                                                 IReProfilingRequestBuilder profilingRequestBuilder,
                                                 IProfilingApiClient profiling,
                                                 IPoliciesService policiesService,
                                                 IReProfilingResponseMapper reProfilingResponseMapper,
                                                 ILogger logger,
                                                 IPublishingResiliencePolicies publishingResiliencePolicies)
        {
            Guard.ArgumentNotNull(publishedFundingRepository, nameof(publishedFundingRepository));
            Guard.ArgumentNotNull(publishedProviderErrorDetection, nameof(publishedProviderErrorDetection));
            Guard.ArgumentNotNull(profilingService, nameof(profilingService));
            Guard.ArgumentNotNull(publishedProviderVersioningService, nameof(publishedProviderVersioningService));
            Guard.ArgumentNotNull(specificationsApiClient, nameof(specificationsApiClient));
            Guard.ArgumentNotNull(profilingRequestBuilder, nameof(profilingRequestBuilder));
            Guard.ArgumentNotNull(profiling, nameof(profiling));
            Guard.ArgumentNotNull(publishingResiliencePolicies?.PublishedFundingRepository, nameof(publishingResiliencePolicies.PublishedFundingRepository));
            Guard.ArgumentNotNull(publishingResiliencePolicies?.SpecificationsApiClient, nameof(publishingResiliencePolicies.SpecificationsApiClient));
            Guard.ArgumentNotNull(publishingResiliencePolicies?.ProfilingApiClient, nameof(publishingResiliencePolicies.ProfilingApiClient));
            Guard.ArgumentNotNull(logger, nameof(logger));
            Guard.ArgumentNotNull(policiesService, nameof(policiesService));
            Guard.ArgumentNotNull(reProfilingResponseMapper, nameof(reProfilingResponseMapper));

            _publishedFundingRepository      = publishedFundingRepository;
            _publishedProviderErrorDetection = publishedProviderErrorDetection;
            _profilingService = profilingService;
            _publishedProviderVersioningService = publishedProviderVersioningService;
            _specificationsApiClient            = specificationsApiClient;
            _profilingRequestBuilder            = profilingRequestBuilder;
            _profiling = profiling;
            _publishingResiliencePolicy    = publishingResiliencePolicies.PublishedFundingRepository;
            _specificationResiliencePolicy = publishingResiliencePolicies.SpecificationsApiClient;
            _profilingPolicy           = publishingResiliencePolicies.ProfilingApiClient;
            _logger                    = logger;
            _policiesService           = policiesService;
            _reProfilingResponseMapper = reProfilingResponseMapper;
        }
Ejemplo n.º 2
0
        public RefreshService(IPublishedProviderStatusUpdateService publishedProviderStatusUpdateService,
                              IPublishedFundingDataService publishedFundingDataService,
                              IPublishingResiliencePolicies publishingResiliencePolicies,
                              ISpecificationService specificationService,
                              IProviderService providerService,
                              ICalculationResultsService calculationResultsService,
                              IPublishedProviderDataGenerator publishedProviderDataGenerator,
                              IPublishedProviderDataPopulator publishedProviderDataPopulator,
                              ILogger logger,
                              ICalculationsApiClient calculationsApiClient,
                              IPrerequisiteCheckerLocator prerequisiteCheckerLocator,
                              IPublishProviderExclusionCheck providerExclusionCheck,
                              IFundingLineValueOverride fundingLineValueOverride,
                              IJobManagement jobManagement,
                              IPublishedProviderIndexerService publishedProviderIndexerService,
                              IVariationService variationService,
                              ITransactionFactory transactionFactory,
                              IPublishedProviderVersionService publishedProviderVersionService,
                              IPoliciesService policiesService,
                              IGeneratePublishedFundingCsvJobsCreationLocator generateCsvJobsLocator,
                              IReApplyCustomProfiles reApplyCustomProfiles,
                              IPublishingEngineOptions publishingEngineOptions,
                              IPublishedProviderErrorDetection detection,
                              IBatchProfilingService batchProfilingService) : base(jobManagement, logger)
        {
            Guard.ArgumentNotNull(generateCsvJobsLocator, nameof(generateCsvJobsLocator));
            Guard.ArgumentNotNull(publishedProviderStatusUpdateService, nameof(publishedProviderStatusUpdateService));
            Guard.ArgumentNotNull(publishedFundingDataService, nameof(publishedFundingDataService));
            Guard.ArgumentNotNull(publishingResiliencePolicies, nameof(publishingResiliencePolicies));
            Guard.ArgumentNotNull(specificationService, nameof(specificationService));
            Guard.ArgumentNotNull(providerService, nameof(providerService));
            Guard.ArgumentNotNull(calculationResultsService, nameof(calculationResultsService));
            Guard.ArgumentNotNull(publishedProviderDataGenerator, nameof(publishedProviderDataGenerator));
            Guard.ArgumentNotNull(publishedProviderDataPopulator, nameof(publishedProviderDataPopulator));
            Guard.ArgumentNotNull(calculationsApiClient, nameof(calculationsApiClient));
            Guard.ArgumentNotNull(providerExclusionCheck, nameof(providerExclusionCheck));
            Guard.ArgumentNotNull(fundingLineValueOverride, nameof(fundingLineValueOverride));
            Guard.ArgumentNotNull(jobManagement, nameof(jobManagement));
            Guard.ArgumentNotNull(publishedProviderIndexerService, nameof(publishedProviderIndexerService));
            Guard.ArgumentNotNull(variationService, nameof(variationService));
            Guard.ArgumentNotNull(transactionFactory, nameof(transactionFactory));
            Guard.ArgumentNotNull(publishedProviderVersionService, nameof(publishedProviderVersionService));
            Guard.ArgumentNotNull(policiesService, nameof(policiesService));
            Guard.ArgumentNotNull(logger, nameof(logger));
            Guard.ArgumentNotNull(prerequisiteCheckerLocator, nameof(prerequisiteCheckerLocator));
            Guard.ArgumentNotNull(reApplyCustomProfiles, nameof(reApplyCustomProfiles));
            Guard.ArgumentNotNull(detection, nameof(detection));
            Guard.ArgumentNotNull(publishingResiliencePolicies.CalculationsApiClient, nameof(publishingResiliencePolicies.CalculationsApiClient));
            Guard.ArgumentNotNull(publishingResiliencePolicies.PublishedFundingRepository, nameof(publishingResiliencePolicies.PublishedFundingRepository));
            Guard.ArgumentNotNull(publishingEngineOptions, nameof(publishingEngineOptions));
            Guard.ArgumentNotNull(batchProfilingService, nameof(batchProfilingService));

            _publishedProviderStatusUpdateService = publishedProviderStatusUpdateService;
            _publishedFundingDataService          = publishedFundingDataService;
            _specificationService           = specificationService;
            _providerService                = providerService;
            _calculationResultsService      = calculationResultsService;
            _publishedProviderDataGenerator = publishedProviderDataGenerator;
            _publishedProviderDataPopulator = publishedProviderDataPopulator;
            _logger = logger;
            _calculationsApiClient      = calculationsApiClient;
            _prerequisiteCheckerLocator = prerequisiteCheckerLocator;
            _providerExclusionCheck     = providerExclusionCheck;
            _fundingLineValueOverride   = fundingLineValueOverride;
            _variationService           = variationService;
            _generateCsvJobsLocator     = generateCsvJobsLocator;
            _reApplyCustomProfiles      = reApplyCustomProfiles;
            _detection                       = detection;
            _batchProfilingService           = batchProfilingService;
            _publishedProviderIndexerService = publishedProviderIndexerService;

            _publishingResiliencePolicy  = publishingResiliencePolicies.PublishedFundingRepository;
            _calculationsApiClientPolicy = publishingResiliencePolicies.CalculationsApiClient;
            _jobManagement      = jobManagement;
            _transactionFactory = transactionFactory;
            _publishedProviderVersionService = publishedProviderVersionService;
            _policiesService         = policiesService;
            _publishingEngineOptions = publishingEngineOptions;
        }