示例#1
0
        public ScanBundleBatchCommandHandler(
            IDateTimeProvider dateTimeProvider,
            IBundleScanningService bundleScanningService,
            IBundleWriteRepository bundleWriteRepository,
            IOptions <ScanBundleBatchOptions> options,
            ISteamPageFactory steamPageFactory,
            ILogger <ScanBundleBatchCommandHandler> logger)
        {
            if (options is null)
            {
                throw new ArgumentNullException(nameof(options));
            }

            if (options.Value is null)
            {
                throw new ArgumentException(
                          "The provided configuration object does not contain valid settings for bundle batch processing.",
                          nameof(options));
            }

            this.dateTimeProvider      = dateTimeProvider ?? throw new ArgumentNullException(nameof(dateTimeProvider));
            this.bundleScanningService = bundleScanningService ?? throw new ArgumentNullException(nameof(bundleScanningService));
            this.bundleWriteRepository = bundleWriteRepository ?? throw new ArgumentNullException(nameof(bundleWriteRepository));
            this.steamPageFactory      = steamPageFactory ?? throw new ArgumentNullException(nameof(steamPageFactory));
            this.logger = logger ?? throw new ArgumentNullException(nameof(logger));

            degreeOfParallelism = options.Value.DegreeOfParallelism;

            logger.LogInformation("Using degree of parallelism: {@DegreeOfParallelism}", degreeOfParallelism);
        }
 public ExplorePageCommandHandler(
     IDateTimeProvider dateTimeProvider,
     ILogger <ExplorePageCommandHandler> logger,
     ICrawlerAddressRegistrationService crawlerAddressRegistrationService,
     ICrawlerPrefetchService crawlerPrefetchService,
     IAppWriteRepository appRepository,
     IBundleWriteRepository bundleRepository,
     ISubWriteRepository subWriteRepository)
 {
     this.dateTimeProvider = dateTimeProvider ?? throw new ArgumentNullException(nameof(dateTimeProvider));
     this.logger           = logger ?? throw new ArgumentNullException(nameof(logger));
     this.crawlerAddressRegistrationService = crawlerAddressRegistrationService ?? throw new ArgumentNullException(nameof(crawlerAddressRegistrationService));
     this.crawlerPrefetchService            = crawlerPrefetchService ?? throw new ArgumentNullException(nameof(crawlerPrefetchService));
     this.appRepository      = appRepository ?? throw new ArgumentNullException(nameof(appRepository));
     this.bundleRepository   = bundleRepository ?? throw new ArgumentNullException(nameof(bundleRepository));
     this.subWriteRepository = subWriteRepository ?? throw new ArgumentNullException(nameof(subWriteRepository));
 }
        public BundleAggregationService(
            IDateTimeProvider dateTimeProvider,
            IRedisConnectionWrapper redisConnectionWrapper,
            IBundleQueryRepository bundleQueryRepository,
            IBundleWriteRepository bundleWriteRepository)
        {
            if (redisConnectionWrapper is null)
            {
                throw new ArgumentNullException(nameof(redisConnectionWrapper));
            }

            redisDatabase = redisConnectionWrapper.ConnectionMultiplexer.GetDatabase();

            this.bundleQueryRepository = bundleQueryRepository ?? throw new ArgumentNullException(nameof(bundleQueryRepository));
            this.dateTimeProvider      = dateTimeProvider ?? throw new ArgumentNullException(nameof(dateTimeProvider));
            this.bundleWriteRepository = bundleWriteRepository ?? throw new ArgumentNullException(nameof(bundleWriteRepository));
        }