Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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);
        }