コード例 #1
0
 protected override void OnModelCreating(ModelBuilder modelBuilder)
 {
     StaffMemberConfiguration.Configure(modelBuilder);
     RetailerConfiguration.Configure(modelBuilder);
     RequestConfiguration.Configure(modelBuilder);
     ExternalSystemConfiguration.Configure(modelBuilder);
 }
コード例 #2
0
        private static IDownloader GenerateDownloader(RetailerConfiguration retailer)
        {
            try
            {
                switch (retailer.RetailerName)
                {
                case "Cel":
                {
                    return(new CelDownloader(retailer));
                }

                case "PcGarage":
                {
                    return(new PcGarageDownloader(retailer));
                }

                default:
                {
                    return(null);
                }
                }
            }
            catch (Exception ex)
            {
                GenericLogger.Error($"could not create downloader for {retailer.RetailerName}");
                return(null);
            }
        }
コード例 #3
0
 public CelProductParser(string url, string givenMessage, RetailerConfiguration retailer)
 {
     this.url          = url;
     this.givenMessage = givenMessage;
     this.retailer     = retailer;
     doc = GetProductDocument(url);
 }
コード例 #4
0
 public SearchProductParser(string url, string givenMessage, RetailerConfiguration retailer)
 {
     this.url          = url;
     this.givenMessage = givenMessage;
     this.retailer     = retailer;
     GetProductDocument();
 }
コード例 #5
0
 private static void DownloadProducts(IDownloader downloader, RetailerConfiguration retailer)
 {
     try
     {
         downloader.GetProducts(queueMessage);
     }
     catch (Exception ex)
     {
     }
 }
コード例 #6
0
        internal static void StartMessageCrawling(CloudQueueMessage message, RetailerConfiguration retailer)
        {
            queueMessage = message;
            givenMessage = message.AsString.Split('|').FirstOrDefault();
            retConfig    = retailer;
            products     = new RetailerCrawlProductCollection(retailer.RetailerName);

            downloader = GenerateDownloader(retailer);

            DownloadProducts(downloader, retailer);
        }
コード例 #7
0
ファイル: CelDownloader.cs プロジェクト: mateipaul/PrsLic
        private string GetSearchUrl(CloudQueueMessage message, RetailerConfiguration retailer)
        {
            string searchIdiom = message.AsString.Split('|').FirstOrDefault();
            string searchType  = message.AsString.Split('|').LastOrDefault();

            givenMessage = searchIdiom;

            switch (searchType)
            {
            case "price-asc":
            {
                return(string.Format(retailer.CrawlingTags.SearchUrlFormatPriceAsc, searchIdiom.ToLowerInvariant().Replace(" ", "+")));
            }

            case "price-desc":
            {
                return(string.Format(retailer.CrawlingTags.SearchUrlFormatPriceDesc, searchIdiom.ToLowerInvariant().Replace(" ", "+")));
            }

            default:
                return(string.Format(retailer.CrawlingTags.SearchUrlFormatDefault, searchIdiom.ToLowerInvariant().Replace(" ", "+")));
            }
        }
コード例 #8
0
ファイル: CrawlManager.cs プロジェクト: mateipaul/PrsLic
 public CrawlManager(RetailerConfiguration retailer)
 {
     RetailerConfig = retailer;
 }
コード例 #9
0
ファイル: CelDownloader.cs プロジェクト: mateipaul/PrsLic
 public CelDownloader(RetailerConfiguration retailer)
 {
     retailerConfiguration = retailer;
     products = new RetailerCrawlProductCollection(retailer.RetailerName);
 }
コード例 #10
0
 public CelProductParser(RetailerConfiguration retailer)
 {
     updateProductConfiguration = retailer;
 }
コード例 #11
0
 public CrawlProductParser(RetailerConfiguration retailerConfig)
 {
     RetailerConfig = retailerConfig;
 }
コード例 #12
0
        private static void StartCrawling(RetailerConfiguration retailer)
        {
            CrawlManager manager = new CrawlManager(retailer);

            manager.StartCrawling();
        }
コード例 #13
0
 public PcGarageProductParser(RetailerConfiguration retailerConfiguration)
 {
     updateConfiguration = retailerConfiguration;
 }
コード例 #14
0
 public PcGarageDownloader(RetailerConfiguration retailer)
 {
     retailerConfiguration = retailer;
 }