public ActionResult <List <VacasaRentals> > Get([FromQuery] VacasaGet qs) { SetScrapingUrl(qs.City.ToLower()); var HtmlDoc = _web.Load(_scrapingUrl); var mainNode = HtmlDoc.DocumentNode.SelectNodes("//div[contains(@class, 'unit-listing')]"); List <VacasaRentals> scrapingElements = ProcessScraping(mainNode, qs.City); if (qs.MinPrice > 0 || qs.MaxPrice > 0) { scrapingElements = FilterByPrice(qs, scrapingElements); } return(scrapingElements); }
// Remove elements by price private List <VacasaRentals> FilterByPrice(VacasaGet qs, List <VacasaRentals> scrapingElements) { for (int i = 0; i <= scrapingElements.Count - 1; i++) { if (qs.MinPrice > 0 && Decimal.Compare(qs.MinPrice, scrapingElements[i].MinPrice) < 0) { scrapingElements.RemoveAt(i); } if (qs.MaxPrice > 0 && Decimal.Compare(qs.MaxPrice, scrapingElements[i].MaxPrice) < 0) { scrapingElements.RemoveAt(i); } } return(scrapingElements); }