예제 #1
0
 public BulkProgrammeUpdatedEventHandler(
     ISqlServerDbContextFactory <ISqlServerTenantDbContext> dbContextFactory,
     ILoggerService logger)
 {
     _dbContextFactory = dbContextFactory;
     _logger           = logger;
 }
 public BulkProgrammeCreatedEventHandler(
     ISqlServerDbContextFactory <ISqlServerTenantDbContext> dbContextFactory,
     IMapper mapper)
 {
     _dbContextFactory = dbContextFactory;
     _mapper           = mapper;
 }
예제 #3
0
 public RecalculateBreakAvailabilityService(
     ILogger <IRecalculateBreakAvailabilityService> logger,
     ISqlServerDbContextFactory <ISqlServerLongRunningTenantDbContext> tenantDbContextFactory,
     RecalculateBreakAvailabilityOptions recalculateOptions)
 {
     _logger = logger ?? throw new ArgumentNullException(nameof(logger));
     _tenantDbContextFactory = tenantDbContextFactory ?? throw new ArgumentNullException(nameof(tenantDbContextFactory));
     _recalculateOptions     = recalculateOptions ?? throw new ArgumentNullException(nameof(recalculateOptions));
 }
예제 #4
0
 public SalesAreaCacheAccessor(ISqlServerDbContextFactory <ISqlServerTenantDbContext> dbContextFactory)
 {
     _dbContextFactory    = dbContextFactory;
     _salesAreaCollection = new Lazy <IReadOnlyCollection <SalesArea> >(GetSalesAreas);
     _salesAreaByIdCache  =
         new Lazy <IDictionary <Guid, SalesArea> >(() => SalesAreaCollection.ToDictionary(k => k.Id));
     _salesAreaByNameCache =
         new Lazy <IDictionary <string, SalesArea> >(() => SalesAreaCollection.ToDictionary(k => k.Name));
 }
예제 #5
0
 public PredictionSchedulePurgingHandler(ISqlServerDbContextFactory <ISqlServerTenantDbContext> dbContextFactory,
                                         IClock clock,
                                         IOptionsSnapshot <PredictionSchedulesPurgingOptions> options,
                                         ILogger <PredictionSchedulePurgingHandler> logger) : base(options)
 {
     _dbContextFactory = dbContextFactory;
     _clock            = clock;
     _logger           = logger;
 }
예제 #6
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ScenarioCampaignResultReportCreator" /> class.
 /// </summary>
 /// <param name="dbContextFactory">The database context factory.</param>
 /// <param name="mapper">The mapper.</param>
 public ScenarioCampaignResultReportCreator(
     ISqlServerDbContextFactory <ISqlServerTenantDbContext> dbContextFactory,
     ISqlServerSalesAreaByNullableIdCacheAccessor salesAreaByNullableIdCache,
     ISqlServerSalesAreaByIdCacheAccessor salesAreaByIdCache,
     IMapper mapper)
 {
     _dbContextFactory           = dbContextFactory;
     _salesAreaByNullableIdCache = salesAreaByNullableIdCache;
     _salesAreaByIdCache         = salesAreaByIdCache;
     _mapper = mapper;
 }
예제 #7
0
 public BreakAvailabilityUpdater(
     ILogger logger,
     ISqlServerDbContextFactory <ISqlServerLongRunningTenantDbContext> tenantDbContextFactory,
     RecalculateBreakAvailabilityOptions recalculateOptions,
     CancellationToken cancellationToken)
 {
     _logger = logger ?? throw new ArgumentNullException(nameof(logger));
     _tenantDbContextFactory = tenantDbContextFactory ?? throw new ArgumentNullException(nameof(tenantDbContextFactory));
     _recalculateOptions     = recalculateOptions ?? throw new ArgumentNullException(nameof(recalculateOptions));
     _cancellationToken      = cancellationToken;
 }
예제 #8
0
 public RunDataPurgingHandler(
     IOptionsSnapshot <RunPurgingOptions> options,
     IRunCleaner runCleaner,
     ISqlServerDbContextFactory <ISqlServerTenantDbContext> dbContextFactory,
     ILogger <RunDataPurgingHandler> logger,
     IClock clock) : base(options)
 {
     _runCleaner       = runCleaner;
     _dbContextFactory = dbContextFactory;
     _logger           = logger;
     _clock            = clock;
 }
 /// <summary>Initializes a new instance of the <see cref="RecommendationsResultReportCreator" /> class.</summary>
 /// <param name="dbContext">The database context.</param>
 /// <param name="tenantSettingsRepository">The tenant settings repository.</param>
 /// <param name="demographicRepository">The demographic repository.</param>
 /// <param name="salesAreaRepository">The sales area repository.</param>
 /// <param name="clashRepository">The clash repository.</param>
 /// <param name="productRepository">The product repository.</param>
 /// <param name="mapper">The mapper.</param>
 public RecommendationsResultReportCreator(
     ISqlServerDbContextFactory <ISqlServerTenantDbContext> dbContextFactory,
     IRepositoryFactory repositoryFactory,
     ISqlServerSalesAreaByIdCacheAccessor salesAreaByIdCache,
     IMapper mapper)
     : base(mapper)
 {
     _dbContextFactory   = dbContextFactory;
     _repositoryFactory  = repositoryFactory;
     _salesAreaByIdCache = salesAreaByIdCache;
     _mapper             = mapper;
 }
예제 #10
0
 public ProgrammeRepository(
     ISqlServerTenantDbContext dbContext,
     ISqlServerDbContextFactory <ISqlServerTenantDbContext> dbContextFactory,
     IFullTextSearchConditionBuilder searchConditionBuilder,
     ISqlServerSalesAreaByIdCacheAccessor salesAreaByIdCache,
     ISqlServerSalesAreaByNameCacheAccessor salesAreaByNameCache,
     IMapper mapper)
 {
     _dbContext              = dbContext;
     _dbContextFactory       = dbContextFactory;
     _searchConditionBuilder = searchConditionBuilder;
     _salesAreaByIdCache     = salesAreaByIdCache;
     _salesAreaByNameCache   = salesAreaByNameCache;
     _mapper = mapper;
     _programmeDictionaryCache =
         new ProgrammeDictionaryCache(_dbContext, preloadData: false);
     _programmeCategoryCache = new ProgrammeCategoryCache(_dbContext);
 }
예제 #11
0
 public SqlBulkCampaignCreatedOrUpdatedEventHandler(
     ICampaignCleaner campaignCleaner,
     ICampaignRepository campaignRepository,
     IMapper mapper,
     IScenarioRepository scenarioRepository,
     IPassRepository passRepository,
     ISqlServerDbContextFactory <ISqlServerTenantDbContext> dbContextFactory,
     ISqlServerSalesAreaByNullableIdCacheAccessor salesAreaByIdCache,
     ISqlServerSalesAreaByNameCacheAccessor salesAreaByNameCache
     )
 {
     _campaignCleaner  = campaignCleaner;
     _mapper           = mapper;
     _dbContextFactory = dbContextFactory;
     _campaignPassPrioritiesService = new CampaignPassPrioritiesService(
         campaignRepository,
         mapper,
         passRepository,
         scenarioRepository);
     _salesAreaByIdCache   = salesAreaByIdCache;
     _salesAreaByNameCache = salesAreaByNameCache;
 }
예제 #12
0
        public BreakAvailabilityCalculator(
            ILogger logger,
            ISqlServerDbContextFactory <ISqlServerLongRunningTenantDbContext> tenantDbContextFactory,
            RecalculateBreakAvailabilityOptions recalculateOptions,
            ITargetBlock <IBreakAvailability> targetBlock,
            CancellationToken cancellationToken)
        {
            _logger = logger ?? throw new ArgumentNullException(nameof(logger));
            _tenantDbContextFactory = tenantDbContextFactory ?? throw new ArgumentNullException(nameof(tenantDbContextFactory));
            _recalculateOptions     = recalculateOptions ?? throw new ArgumentNullException(nameof(recalculateOptions));
            _cancellationToken      = cancellationToken;

            _internalBlock = new TransformManyBlock <IBreakAvailability[], IBreakAvailability>(
                breaks => breaks.AsEnumerable(), new ExecutionDataflowBlockOptions
            {
                CancellationToken = _cancellationToken
            });
            _ = _internalBlock.LinkTo(targetBlock ?? throw new ArgumentNullException(nameof(targetBlock)));
            _ = _internalBlock.Completion.ContinueWith(_ => targetBlock.Complete());

            _lockDbContext = new SemaphoreSlim(_recalculateOptions.BoundedDbContextOperationCapacity,
                                               _recalculateOptions.BoundedDbContextOperationCapacity);
        }
예제 #13
0
 public CampaignCleaner(ISqlServerDbContextFactory <ISqlServerTenantDbContext> sqlServerDbContextFactory)
 {
     _sqlServerDbContextFactory = sqlServerDbContextFactory;
 }
 public BulkBreaksDeletedEventHandler(ISqlServerDbContextFactory <ISqlServerTenantDbContext> dbContextFactory) => _dbContextFactory = dbContextFactory;
 public BulkRatingsPredictionSchedulesDeletedEventHandler(ISqlServerDbContextFactory <ISqlServerTenantDbContext> dbContextFactory) =>
예제 #16
0
 public BulkProgrammeDeletedEventHandler(ISqlServerDbContextFactory <ISqlServerTenantDbContext> dbContextFactory)
 {
     _dbContextFactory = dbContextFactory;
 }
예제 #17
0
 public SalesAreaTestCacheAccessor(ISqlServerDbContextFactory <ISqlServerTenantDbContext> dbContextFactory) : base(dbContextFactory)
 {
     _dbContextFactory = dbContextFactory;
 }
예제 #18
0
 public RunCleaner(ISqlServerDbContextFactory <ISqlServerTenantDbContext> dbContextFactory,
                   ICloudStorageV2 cloudStorage) : base(cloudStorage)
 {
     _dbContextFactory = dbContextFactory;
 }