private static List <PolaczenieLotnicze> SzukajNatalia(DaneWyszukiwania dane) { var HAPparser = new WebsiteDataService(); List <PolaczenieLotnicze> pol = new List <PolaczenieLotnicze>(); List <Flight> lista; try { lista = HAPparser.Kayak_go(dane); } catch (Exception) { return(pol); } var en = lista.GetEnumerator(); while (en.MoveNext()) { try { PolaczenieLotnicze pp = Konwerter.KonwertujFlight(en.Current, dane); pp.Zrodlo = Lotniska.NazwaLotniska(pp.Zrodlo); pp.Cel = Lotniska.NazwaLotniska(pp.Cel); pol.Add(pp); } catch { } } return(pol); }
public static PolaczenieLotnicze KonwertujFlight(Flight flight, DaneWyszukiwania data) { PolaczenieLotnicze p = new PolaczenieLotnicze(); var time = Konwerter.KonwertujStringGodzMinNaTimeSpan(flight.Departure_time); p.Cel = flight.Arrival_city; p.Cena = Konwerter.KonwertujCeneNaDouble(flight.Cena); p.Czas = Konwerter.KonwertujStringCzasLotuNaTimeSpan(flight.Czas); p.DataWylotu = new DateTime(data.Data.Year, data.Data.Month, data.Data.Day, time.Hours, time.Minutes, time.Seconds); p.Link = flight.Link; p.Przewoznik = flight.Carrier; p.Zrodlo = flight.Departure_city; return(p); }
private static List <PolaczenieLotnicze> SzukajPiotr(DaneWyszukiwania dane) { Process p; lock (sl) { if (kolejka.Count > 0) { p = kolejka.Dequeue(); } else { p = UtworzProces(); } } try { dane.Zrodlo = char.ToUpper(dane.Zrodlo[0]) + dane.Zrodlo.Substring(1); dane.Cel = char.ToUpper(dane.Cel[0]) + dane.Cel.Substring(1); } catch { } p.StandardInput.WriteLine(dane.Zrodlo); p.StandardInput.WriteLine(dane.Cel); p.StandardInput.WriteLine(miesiace[dane.Data.Month]); p.StandardInput.WriteLine(dane.Data.Year); p.StandardInput.WriteLine(dane.Data.Day); p.StandardInput.WriteLine(dane.Osoby.Dorosli); p.StandardInput.WriteLine(dane.Osoby.Mlodziez); p.StandardInput.WriteLine(dane.Osoby.Dzieci); p.StandardInput.WriteLine(dane.Osoby.Niemowleta); List <PolaczenieLotnicze> pol = new List <PolaczenieLotnicze>(); int ilosc = int.Parse(p.StandardOutput.ReadLine()); for (int i = 0; i < ilosc; i++) { string[] czas; PolaczenieLotnicze pp = new PolaczenieLotnicze(); pp.Przewoznik = p.StandardOutput.ReadLine(); pp.Cena = double.Parse(p.StandardOutput.ReadLine()); pp.Zrodlo = Lotniska.NazwaLotniska(p.StandardOutput.ReadLine()); pp.Cel = Lotniska.NazwaLotniska(p.StandardOutput.ReadLine()); pp.DataWylotu = dane.Data.Add(TimeSpan.Parse(p.StandardOutput.ReadLine())); pp.DataPrzylotu = dane.Data.Add(TimeSpan.Parse(p.StandardOutput.ReadLine())); czas = p.StandardOutput.ReadLine().Split(' '); pp.Link = p.StandardOutput.ReadLine(); p.StandardOutput.ReadLine(); //kreski int poz; int godz = 0, min = 0; for (int j = 0; j < czas.Length; j++) { poz = czas[j].IndexOf('h'); if (poz > 0) { godz = pobierzLiczbe(czas[j], poz); } else { poz = czas[j].IndexOf("min"); if (poz > 0) { min = pobierzLiczbe(czas[j], poz); } } } pp.Czas = new TimeSpan(godz, min, 0); if (pp.Zrodlo != "" && pp.Cel != "") { pol.Add(pp); } } lock (sl) { kolejka.Enqueue(p); } return(pol); }