public ProviderVariationsApplication(IPublishingResiliencePolicies resiliencePolicies,
                                             ISpecificationsApiClient specificationsApiClient,
                                             IPoliciesApiClient policiesApiClient,
                                             ICacheProvider cacheProvider,
                                             IProfilingApiClient profilingApiClient,
                                             IReProfilingRequestBuilder reProfilingRequestBuilder,
                                             IReProfilingResponseMapper reProfilingResponseMapper)
        {
            Guard.ArgumentNotNull(resiliencePolicies, nameof(resiliencePolicies));
            Guard.ArgumentNotNull(resiliencePolicies.SpecificationsApiClient, "resiliencePolicies.SpecificationsApiClient");
            Guard.ArgumentNotNull(resiliencePolicies.PoliciesApiClient, "resiliencePolicies.PoliciesApiClient");
            Guard.ArgumentNotNull(resiliencePolicies.CacheProvider, "resiliencePolicies.CacheProvider");
            Guard.ArgumentNotNull(specificationsApiClient, nameof(specificationsApiClient));
            Guard.ArgumentNotNull(policiesApiClient, nameof(policiesApiClient));
            Guard.ArgumentNotNull(cacheProvider, nameof(cacheProvider));
            Guard.ArgumentNotNull(profilingApiClient, nameof(profilingApiClient));
            Guard.ArgumentNotNull(reProfilingRequestBuilder, nameof(reProfilingRequestBuilder));
            Guard.ArgumentNotNull(reProfilingResponseMapper, nameof(reProfilingResponseMapper));

            SpecificationsApiClient   = specificationsApiClient;
            ResiliencePolicies        = resiliencePolicies;
            PoliciesApiClient         = policiesApiClient;
            CacheProvider             = cacheProvider;
            ProfilingApiClient        = profilingApiClient;
            ReProfilingRequestBuilder = reProfilingRequestBuilder;
            ReProfilingResponseMapper = reProfilingResponseMapper;
        }
예제 #2
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;
        }