public ActionResult Result(SearchRouteParameters parameters) { if (!ModelState.IsValid) { return(View("Index")); } var model = ticketExtractorService.ExtractRouteInfo(parameters); return(View(model)); }
public RouteInfoVM ExtractRouteInfo(SearchRouteParameters parameters) { var result = new RouteInfoVM { Routes = new List <RouteInfo> { new RouteInfo(), new RouteInfo() } }; var htmlSummoryDoc = new HtmlDocument(); var htmlDetailsDoc = new HtmlDocument(); var url = $"https://www.skyscanner.ru/transport/flights/{parameters.Source.ToLower()}/{parameters.Destination.ToLower()}/{parameters.DateSource}/{parameters.DateDestination}#results"; loadPageForGetRouteHtmlElementsService.WaitLoadPage(url); htmlSummoryDoc.LoadHtml(loadPageForGetRouteHtmlElementsService.GetSummoryInnerHtml()); htmlDetailsDoc.LoadHtml(loadPageForGetRouteHtmlElementsService.GetDetailsInnerHtml()); loadPageForGetRouteHtmlElementsService.Dispose(); //начинаем парсить и заполнять вьюмодель данными fillVmService.FillVM(result, htmlSummoryDoc.DocumentNode, htmlDetailsDoc.DocumentNode); return(result); }