Пример #1
0
        public ProcessDatasetService(
            IDatasetRepository datasetRepository,
            IExcelDatasetReader excelDatasetReader,
            ICacheProvider cacheProvider,
            ICalcsRepository calcsRepository,
            IBlobClient blobClient,
            IMessengerService messengerService,
            IProvidersResultsRepository providersResultsRepository,
            IResultsRepository resultsRepository,
            IProviderService providerService,
            IVersionRepository <ProviderSourceDatasetVersion> sourceDatasetsVersionRepository,
            ILogger logger,
            ITelemetry telemetry,
            IDatasetsResiliencePolicies datasetsResiliencePolicies,
            IDatasetsAggregationsRepository datasetsAggregationsRepository,
            IFeatureToggle featureToggle,
            IJobsApiClient jobsApiClient)
        {
            Guard.ArgumentNotNull(datasetRepository, nameof(datasetRepository));
            Guard.ArgumentNotNull(excelDatasetReader, nameof(excelDatasetReader));
            Guard.ArgumentNotNull(cacheProvider, nameof(cacheProvider));
            Guard.ArgumentNotNull(messengerService, nameof(messengerService));
            Guard.ArgumentNotNull(calcsRepository, nameof(calcsRepository));
            Guard.ArgumentNotNull(providersResultsRepository, nameof(providersResultsRepository));
            Guard.ArgumentNotNull(resultsRepository, nameof(resultsRepository));
            Guard.ArgumentNotNull(providerService, nameof(providerService));
            Guard.ArgumentNotNull(logger, nameof(logger));
            Guard.ArgumentNotNull(telemetry, nameof(telemetry));
            Guard.ArgumentNotNull(datasetsAggregationsRepository, nameof(datasetsAggregationsRepository));
            Guard.ArgumentNotNull(featureToggle, nameof(featureToggle));
            Guard.ArgumentNotNull(jobsApiClient, nameof(jobsApiClient));

            _datasetRepository               = datasetRepository;
            _excelDatasetReader              = excelDatasetReader;
            _cacheProvider                   = cacheProvider;
            _calcsRepository                 = calcsRepository;
            _blobClient                      = blobClient;
            _providersResultsRepository      = providersResultsRepository;
            _resultsRepository               = resultsRepository;
            _providerService                 = providerService;
            _sourceDatasetsVersionRepository = sourceDatasetsVersionRepository;
            _logger    = logger;
            _telemetry = telemetry;
            _providerResultsRepositoryPolicy = datasetsResiliencePolicies.ProviderResultsRepository;
            _datasetsAggregationsRepository  = datasetsAggregationsRepository;
            _featureToggle       = featureToggle;
            _jobsApiClient       = jobsApiClient;
            _jobsApiClientPolicy = datasetsResiliencePolicies.JobsApiClient;
            _messengerService    = messengerService;
        }
 protected static ProcessDatasetService CreateProcessDatasetService(
     IBlobClient blobClient             = null,
     IMessengerService messengerService = null,
     ILogger logger = null,
     IDatasetRepository datasetRepository   = null,
     IExcelDatasetReader excelDatasetReader = null,
     ICacheProvider cacheProvider           = null,
     ICalcsRepository calcsRepository       = null,
     IProviderService providerService       = null,
     IResultsRepository resultsRepository   = null,
     IProvidersResultsRepository providerResultsRepository = null,
     ITelemetry telemetry = null,
     IDatasetsResiliencePolicies datasetsResiliencePolicies = null,
     IVersionRepository <ProviderSourceDatasetVersion> versionRepository = null,
     IDatasetsAggregationsRepository datasetsAggregationsRepository      = null,
     IFeatureToggle featureToggle = null,
     IJobsApiClient jobsApiClient = null)
 {
     return(new ProcessDatasetService(
                datasetRepository ?? CreateDatasetsRepository(),
                excelDatasetReader ?? CreateExcelDatasetReader(),
                cacheProvider ?? CreateCacheProvider(),
                calcsRepository ?? CreateCalcsRepository(),
                blobClient ?? CreateBlobClient(),
                messengerService ?? CreateMessengerService(),
                providerResultsRepository ?? CreateProviderResultsRepository(),
                resultsRepository ?? CreateResultsRepository(),
                providerService ?? CreateProviderService(),
                versionRepository ?? CreateVersionRepository(),
                logger ?? CreateLogger(),
                telemetry ?? CreateTelemetry(),
                datasetsResiliencePolicies ?? DatasetsResilienceTestHelper.GenerateTestPolicies(),
                datasetsAggregationsRepository ?? CreateDatasetsAggregationsRepository(),
                featureToggle ?? CreateFeatureToggle(),
                jobsApiClient ?? CreateJobsApiClient()));
 }