public KeywordScrapeDetailSyncTask(int scraperNo, IDataStore dataStore,
                                           IKeywordScrapeDetailRepo keywordScrapeDetailRepo)
        {
            if (scraperNo <= 0)
            {
                throw new ArgumentException("Invalid Scraper No.");
            }

            _scraperNo = scraperNo;
            _dataStore = dataStore ?? throw new ArgumentNullException(nameof(dataStore));
            _keywordScrapeDetailRepo = keywordScrapeDetailRepo ?? throw new ArgumentNullException(nameof(keywordScrapeDetailRepo));
        }
 public CrawlLogger(IProxyManager proxyManager, IKeywordScrapeDetailRepo keywordScrapeDetailRepo)
 {
     _proxyManager            = proxyManager ?? throw new ArgumentNullException(nameof(proxyManager));
     _keywordScrapeDetailRepo = keywordScrapeDetailRepo ?? throw new ArgumentNullException(nameof(keywordScrapeDetailRepo));
 }
 public KeywordManager(IKeywordScrapeDetailRepo keywordScrapeDetailRepo, IKeywordRepo keywordRepo)
 {
     _keywordScrapeDetailRepo = keywordScrapeDetailRepo ?? throw new ArgumentNullException(nameof(keywordScrapeDetailRepo));
     _keywordRepo             = keywordRepo ?? throw new ArgumentNullException(nameof(keywordRepo));
 }