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);
        }
Пример #2
0
        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);
        }