public static Offer GetOffer(Shop shop, string search) { string Link = OffersHelper.BuildLink(shop, search); HtmlWeb website = new HtmlWeb(); website.AutoDetectEncoding = false; website.OverrideEncoding = Encoding.Default; HtmlDocument Doc = website.Load(Link); Offer offer = new Offer { ProductName = Doc.DocumentNode.Descendants("title") .First(d => d.Attributes.Contains("class") && d.Attributes["class"].Value.Contains("next-head")).InnerText, OldPrice = Doc.DocumentNode.Descendants("div") .First(d => d.Attributes.Contains("class") && d.Attributes["class"].Value.Contains("Price-old")).InnerText, DiscountPrice = Doc.DocumentNode.Descendants("meta") .First(d => d.Attributes.Contains("itemProp") && d.Attributes["itemProp"].Value.Contains("price")).Attributes.First(e => e.Name.Contains("content")).Value, Availability = Doc.DocumentNode.Descendants("div") .First(d => d.Attributes.Contains("class") && d.Attributes["class"].Value.Contains("Status")).InnerText, Link = Link, Reviews = Doc.DocumentNode.Descendants("span") .First(d => d.Attributes.Contains("itemProp") && d.Attributes["itemProp"].Value.Contains("reviewCount")).InnerText, ReviewsLink = Doc.DocumentNode.Descendants("a").First(d => d.Attributes.Contains("class") && d.Attributes["class"].Value.Contains("Rating-reviews")).Attributes.First(e => e.Name.Contains("href")).Value }; return(offer); }
public static IEnumerable <Offer> GetOffers(string search) { ShopRepository shopRepository = new ShopRepository(new DBContext()); List <Offer> OffersList = new List <Offer>(); var ShopsList = shopRepository.GetShops(); foreach (var shop in ShopsList) { OffersHelper.PopulateOffer(ref OffersList, shop, search); } return(OffersList); }