protected override void OnModelCreating(ModelBuilder modelBuilder) { StaffMemberConfiguration.Configure(modelBuilder); RetailerConfiguration.Configure(modelBuilder); RequestConfiguration.Configure(modelBuilder); ExternalSystemConfiguration.Configure(modelBuilder); }
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); } }
public CelProductParser(string url, string givenMessage, RetailerConfiguration retailer) { this.url = url; this.givenMessage = givenMessage; this.retailer = retailer; doc = GetProductDocument(url); }
public SearchProductParser(string url, string givenMessage, RetailerConfiguration retailer) { this.url = url; this.givenMessage = givenMessage; this.retailer = retailer; GetProductDocument(); }
private static void DownloadProducts(IDownloader downloader, RetailerConfiguration retailer) { try { downloader.GetProducts(queueMessage); } catch (Exception ex) { } }
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); }
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(" ", "+"))); } }
public CrawlManager(RetailerConfiguration retailer) { RetailerConfig = retailer; }
public CelDownloader(RetailerConfiguration retailer) { retailerConfiguration = retailer; products = new RetailerCrawlProductCollection(retailer.RetailerName); }
public CelProductParser(RetailerConfiguration retailer) { updateProductConfiguration = retailer; }
public CrawlProductParser(RetailerConfiguration retailerConfig) { RetailerConfig = retailerConfig; }
private static void StartCrawling(RetailerConfiguration retailer) { CrawlManager manager = new CrawlManager(retailer); manager.StartCrawling(); }
public PcGarageProductParser(RetailerConfiguration retailerConfiguration) { updateConfiguration = retailerConfiguration; }
public PcGarageDownloader(RetailerConfiguration retailer) { retailerConfiguration = retailer; }