public CalculateProfileService(IProfilePatternRepository profilePatternRepository,
                                       ICacheProvider cacheProvider,
                                       IValidator <ProfileBatchRequest> batchRequestValidation,
                                       ILogger logger,
                                       IProfilingResiliencePolicies resiliencePolicies,
                                       IProducerConsumerFactory producerConsumerFactory,
                                       IFundingValueProfiler fundingValueProfiler)
        {
            Guard.ArgumentNotNull(profilePatternRepository, nameof(profilePatternRepository));
            Guard.ArgumentNotNull(cacheProvider, nameof(cacheProvider));
            Guard.ArgumentNotNull(batchRequestValidation, nameof(batchRequestValidation));
            Guard.ArgumentNotNull(logger, nameof(logger));
            Guard.ArgumentNotNull(resiliencePolicies?.ProfilePatternRepository, nameof(resiliencePolicies.ProfilePatternRepository));
            Guard.ArgumentNotNull(resiliencePolicies?.Caching, nameof(resiliencePolicies.Caching));
            Guard.ArgumentNotNull(fundingValueProfiler, nameof(fundingValueProfiler));

            _profilePatternRepository = profilePatternRepository;
            _cacheProvider            = cacheProvider;
            _logger = logger;
            _producerConsumerFactory            = producerConsumerFactory;
            _batchRequestValidation             = batchRequestValidation;
            _profilePatternRepositoryResilience = resiliencePolicies.ProfilePatternRepository;
            _cachingResilience    = resiliencePolicies.Caching;
            _fundingValueProfiler = fundingValueProfiler;
        }
 public DsgRollBackPublishedFundingVersionUndoTask(IPublishedFundingUndoCosmosRepository cosmos,
                                                   IPublishedFundingUndoBlobStoreRepository blobStore,
                                                   IProducerConsumerFactory producerConsumerFactory,
                                                   ILogger logger,
                                                   IJobTracker jobTracker) : base(cosmos, blobStore, producerConsumerFactory, logger, jobTracker)
 {
 }
 public PublishedFundingUndoContextInitialisationTask(IPublishedFundingUndoCosmosRepository cosmos,
                                                      IPublishedFundingUndoBlobStoreRepository blobStore,
                                                      IProducerConsumerFactory producerConsumerFactory,
                                                      ILogger logger,
                                                      IJobTracker jobTracker)
     : base(cosmos, blobStore, producerConsumerFactory, logger, jobTracker)
 {
 }
 protected MessageRouter(IMessageSource <TMessage> messageSource, IProducerConsumerFactory <TMessage> producerConsumerFactory, Func <TMessage, string> tagMessageProvider, IScheduler scheduler, ILoggerContextSensitive log)
     : base(messageSource, scheduler, log)
 {
     _log = log;
     _producerConsumerFactory = producerConsumerFactory;
     _tagMessageProvider      = tagMessageProvider;
     _routerItems             = new ConcurrentDictionary <string, Lazy <Child> >();
 }
Пример #5
0
 public SoftDeletePublishedProviderVersionsUndoTask(IPublishedFundingUndoCosmosRepository cosmos,
                                                    IPublishedFundingUndoBlobStoreRepository blobStore,
                                                    IProducerConsumerFactory producerConsumerFactory,
                                                    ILogger logger,
                                                    IJobTracker jobTracker)
     : base(cosmos, blobStore, producerConsumerFactory, logger, jobTracker)
 {
 }
Пример #6
0
 public PublishedProviderUndoTask(IPublishedFundingUndoCosmosRepository cosmos,
                                  IPublishedFundingUndoBlobStoreRepository blobStore,
                                  IProducerConsumerFactory producerConsumerFactory,
                                  ILogger logger,
                                  IJobTracker jobTracker,
                                  bool isHardDelete)
     : base(cosmos, blobStore, producerConsumerFactory, logger, jobTracker)
 {
     IsHardDelete = isHardDelete;
 }
        public PublishedProviderFundingCsvDataProcessor(IProducerConsumerFactory producerConsumerFactory,
                                                        IPublishedFundingRepository publishedFunding,
                                                        IPublishingResiliencePolicies resiliencePolicies,
                                                        ILogger logger)
        {
            Guard.ArgumentNotNull(producerConsumerFactory, nameof(producerConsumerFactory));
            Guard.ArgumentNotNull(publishedFunding, nameof(publishedFunding));
            Guard.ArgumentNotNull(resiliencePolicies.PublishedFundingRepository, nameof(resiliencePolicies.PublishedFundingRepository));
            Guard.ArgumentNotNull(logger, nameof(logger));

            _producerConsumerFactory = producerConsumerFactory;
            _publishedFunding        = publishedFunding;
            _logger = logger;
            _publishedFundingPolicy = resiliencePolicies.PublishedFundingRepository;
        }
        public SqlImporter(IProducerConsumerFactory producerConsumerFactory,
                           ISqlImportContextBuilder sqlImportContextBuilder,
                           IDataTableImporter dataTableImporter,
                           ILogger logger)
        {
            Guard.ArgumentNotNull(producerConsumerFactory, nameof(producerConsumerFactory));
            Guard.ArgumentNotNull(sqlImportContextBuilder, nameof(sqlImportContextBuilder));
            Guard.ArgumentNotNull(dataTableImporter, nameof(dataTableImporter));
            Guard.ArgumentNotNull(logger, nameof(logger));

            _producerConsumerFactory = producerConsumerFactory;
            _sqlImportContextBuilder = sqlImportContextBuilder;
            _logger            = logger;
            _dataTableImporter = dataTableImporter;
        }
 public MergeSpecificationsWithProviderResultsDocuments(ICosmosRepository cosmosRepository,
                                                        ILogger logger,
                                                        ISpecificationsApiClient specifications,
                                                        IProducerConsumerFactory producerConsumerFactory,
                                                        IResultsResiliencePolicies resultsResiliencePolicies,
                                                        IPoliciesApiClient policies,
                                                        ICalculationResultsRepository results)
 {
     _cosmosRepository        = cosmosRepository;
     _logger                  = logger;
     _specifications          = specifications;
     _producerConsumerFactory = producerConsumerFactory;
     _policies                = policies;
     _results                 = results;
     _policiesPolicy          = resultsResiliencePolicies.PoliciesApiClient;
 }
Пример #10
0
        protected PublishedFundingUndoTaskFactoryBase(IPublishedFundingUndoCosmosRepository cosmos,
                                                      IPublishedFundingUndoBlobStoreRepository blobStore,
                                                      IProducerConsumerFactory producerConsumerFactory,
                                                      ILogger logger, IJobTracker jobTracker)
        {
            Guard.ArgumentNotNull(cosmos, nameof(cosmos));
            Guard.ArgumentNotNull(blobStore, nameof(blobStore));
            Guard.ArgumentNotNull(producerConsumerFactory, nameof(producerConsumerFactory));
            Guard.ArgumentNotNull(logger, nameof(logger));
            Guard.ArgumentNotNull(jobTracker, nameof(jobTracker));

            Cosmos    = cosmos;
            BlobStore = blobStore;
            ProducerConsumerFactory = producerConsumerFactory;
            Logger     = logger;
            JobTracker = jobTracker;
        }
        public BatchProfilingService(IProfilingApiClient profiling,
                                     IProducerConsumerFactory producerConsumerFactory,
                                     IBatchProfilingOptions options,
                                     IPublishingResiliencePolicies resiliencePolicies,
                                     ILogger logger)
        {
            Guard.ArgumentNotNull(profiling, nameof(profiling));
            Guard.ArgumentNotNull(producerConsumerFactory, nameof(producerConsumerFactory));
            Guard.ArgumentNotNull(options, nameof(options));
            Guard.ArgumentNotNull(resiliencePolicies?.ProfilingApiClient, nameof(resiliencePolicies.ProfilingApiClient));
            Guard.ArgumentNotNull(logger, nameof(logger));

            _profiling = profiling;
            _producerConsumerFactory = producerConsumerFactory;
            _options             = options;
            _logger              = logger;
            _profilingResilience = resiliencePolicies.ProfilingApiClient;
        }
        public SpecificationIndexer(IMapper mapper,
                                    ISpecificationsResiliencePolicies resiliencePolicies,
                                    IDatasetsApiClient datasets,
                                    ISearchRepository <SpecificationIndex> specificationSearch,
                                    IProducerConsumerFactory producerConsumerFactory,
                                    ILogger logger)
        {
            Guard.ArgumentNotNull(mapper, nameof(mapper));
            Guard.ArgumentNotNull(resiliencePolicies?.DatasetsApiClient, nameof(resiliencePolicies.DatasetsApiClient));
            Guard.ArgumentNotNull(resiliencePolicies?.SpecificationsSearchRepository, nameof(resiliencePolicies.SpecificationsSearchRepository));
            Guard.ArgumentNotNull(datasets, nameof(datasets));
            Guard.ArgumentNotNull(specificationSearch, nameof(specificationSearch));
            Guard.ArgumentNotNull(producerConsumerFactory, nameof(producerConsumerFactory));
            Guard.ArgumentNotNull(logger, nameof(logger));

            _mapper                     = mapper;
            _datasetsPolicy             = resiliencePolicies.DatasetsApiClient;
            _specificationsSearchPolicy = resiliencePolicies.SpecificationsSearchRepository;
            _datasets                   = datasets;
            _producerConsumerFactory    = producerConsumerFactory;
            _logger                     = logger;
            _specificationSearch        = specificationSearch;
        }
Пример #13
0
        public SpecificationsWithProviderResultsService(ICalculationResultsRepository results,
                                                        IPoliciesApiClient policies,
                                                        IJobManagement jobs,
                                                        IProducerConsumerFactory producerConsumerFactory,
                                                        IResultsResiliencePolicies resiliencePolicies,
                                                        ILogger logger) : base(jobs, logger)
        {
            Guard.ArgumentNotNull(results, nameof(results));
            Guard.ArgumentNotNull(policies, nameof(policies));
            Guard.ArgumentNotNull(resiliencePolicies?.CalculationProviderResultsSearchRepository, nameof(resiliencePolicies.CalculationProviderResultsSearchRepository));
            Guard.ArgumentNotNull(resiliencePolicies?.JobsApiClient, nameof(resiliencePolicies.JobsApiClient));
            Guard.ArgumentNotNull(resiliencePolicies?.PoliciesApiClient, nameof(resiliencePolicies.PoliciesApiClient));
            Guard.ArgumentNotNull(logger, nameof(logger));

            _results = results;
            _jobs    = jobs;
            _producerConsumerFactory = producerConsumerFactory;
            _resultsPolicy           = resiliencePolicies.CalculationProviderResultsSearchRepository;
            _jobsPolicy     = resiliencePolicies.JobsApiClient;
            _policiesPolicy = resiliencePolicies.PoliciesApiClient;
            _logger         = logger;
            _policies       = policies;
        }
Пример #14
0
 public MsmqMessageRouter(IMessageSource <MessageEx> messageSource, IProducerConsumerFactory <MessageEx> producerConsumerFactory, Func <MessageEx, string> tagMessageProvider, IScheduler scheduler, ILoggerContextSensitive log)
     : base(messageSource, producerConsumerFactory, tagMessageProvider, scheduler, log)
 {
     RouterChildTagsSource = ObjectFactory.GetInstance <IRouterChildTagsSource>();
 }
Пример #15
0
 public TestMessageRouter(IMessageSource <TestMessage> messageSource, IProducerConsumerFactory <TestMessage> producerConsumerFactory, Func <TestMessage, string> tagMessageProvider, IScheduler scheduler, ILoggerContextSensitive log)
     : base(messageSource, producerConsumerFactory, tagMessageProvider, scheduler, log)
 {
 }
        public IMessageConsumer <MessageEx> CreateRouter(IMessageSource <MessageEx> messageSource, IProducerConsumerFactory <MessageEx> factory, Func <MessageEx, string> routeBy)
        {
            var router = new MsmqMessageRouter(messageSource, factory, routeBy, Scheduler.CurrentThread, _log);

            router.AddObserver(new StopwatchObserver <MessageEx>(Stopwatch.StartNew(), s => _log.Debug(LoggerContext.New(router.Name), s), s => _log.Info(LoggerContext.New(router.Name), s), e => _log.Error(LoggerContext.New(router.Name), string.Empty, e)));
            return(router);
        }
Пример #17
0
 public IMessageConsumer <TestMessage> CreateRouter(IMessageSource <TestMessage> messageSource, IProducerConsumerFactory <TestMessage> factory, Func <TestMessage, string> routeBy)
 {
     return(new TestMessageRouter(messageSource, factory, routeBy, Scheduler.CurrentThread, new LoggerContextSensitive()));
 }