protected Trip CreateReturnTrip(HtmlDocument document, Parameters param) { Trip returnTrip = new Trip(); returnTrip.DepartCity = param.To; returnTrip.ReturnCity = param.From; List<Flight> flights = ParseFlightTable(document, "bfm_tbl_in"); returnTrip.Flights = flights; return returnTrip; }
protected Trip CreateDepartTrip(HtmlDocument document, Parameters param) { Trip departTrip = new Trip(); departTrip.DepartCity = param.From; departTrip.ReturnCity = param.To; List<Flight> flights = ParseFlightTable(document, 0); departTrip.Flights = flights; return departTrip; }
//protected static string[] _webScrappingName = { "Jetstar" }; public string GenerateJsonResult(Parameters param) { List<ReturnData> listFullResult = new List<ReturnData>(); string departDay = string.Format("{0}/{1}/{2}", param.DepartMonth, param.DepartDay, param.DepartYear); string returnDay = string.Format("{0}/{1}/{2}", param.ReturnMonth, param.ReturnDay, param.ReturnYear); for (int i = 0; i < _webScrappingName.Length; i++) { try { WebScraping webScraping = GetWebScrapping(_webScrappingName[i]); webScraping.Parameters = param; string saveFilePath = Path.GetTempFileName(); webScraping.DownloadWebPage(saveFilePath); ReturnData returnData = webScraping.ParseResult(saveFilePath); listFullResult.Add(returnData); File.Delete(saveFilePath); } catch (Exception exception) { Console.WriteLine(exception); } } ReturnData finalResult = new ReturnData(); finalResult.BookingType = param.BookingType; finalResult.Data = new List<Trip>(); Trip departTrip = new Trip(); departTrip.Flights = new List<Flight>(); departTrip.DepartCity = param.From; departTrip.ReturnCity = param.To; Trip returnTrip = new Trip(); returnTrip.Flights = new List<Flight>(); returnTrip.DepartCity = param.To; returnTrip.ReturnCity = param.From; foreach (ReturnData returnData in listFullResult) { if (returnData.Data.Count >= 1) { departTrip.Flights.AddRange(returnData.Data.ElementAt(0).Flights); } if (returnData.Data.Count >= 2) { returnTrip.Flights.AddRange(returnData.Data.ElementAt(1).Flights); } } if (departTrip.Flights.Count > 0) { departTrip.Date = departDay; finalResult.Data.Add(departTrip); } if (returnTrip.Flights.Count > 0) { returnTrip.Date = returnDay; finalResult.Data.Add(returnTrip); } string json = JsonConvert.SerializeObject(finalResult, Formatting.None); return json; }