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);
        }
        public static string Bulid(DaneWyszukiwania data)
        {
            var html = @"https://www.kayak.pl/flights/" + data.Zrodlo + "-" + data.Cel + "/"
                       + data.Data.Year + "-";

            if (data.Data.Month < 10)
            {
                html += "0";
            }
            html += data.Data.Month + "-";

            if (data.Data.Day < 10)
            {
                html += "0";
            }
            html += data.Data.Day + "/";
            //var html = @"https://www.kayak.pl/flights/WRO-STN/2018-12-13/1adults/children-17-17?sort=price_a&fs=airlines=-AF;stops=0";
            if (data.Osoby.Dorosli > 0)
            {
                html += data.Osoby.Dorosli + "adults";
            }

            if (data.Osoby.Mlodziez > 0 || data.Osoby.Niemowleta > 0 ||
                data.Osoby.Dzieci > 0)
            {
                html += "/children";
                if (data.Osoby.Niemowleta > 0)
                {
                    for (int i = 0; i < data.Osoby.Niemowleta; i++)
                    {
                        html += "-1S";
                    }
                }
                if (data.Osoby.Dzieci > 0)
                {
                    for (int i = 0; i < data.Osoby.Dzieci; i++)
                    {
                        html += "-11";
                    }
                }
                if (data.Osoby.Mlodziez > 0)
                {
                    for (int i = 0; i < data.Osoby.Mlodziez; i++)
                    {
                        html += "-17";
                    }
                }
            }
            html += "?sort=price_a";//sortowanie rosnaco po cenie
            bool is_special_features_added = false;
            var  shortcuts = Konwerter.KonwertujPrzewoznikowDoSkrotow(data.PrzewNie);

            for (int i = 0; i < shortcuts.Count; i++)
            {
                if (is_special_features_added == false)
                {
                    html += "&fs=airlines=-";
                    is_special_features_added = true;
                }
                if (i > 0)
                {
                    html += ",";
                }

                html += shortcuts[i];
            }

            if (data.Bezposrednie)
            {
                if (is_special_features_added)
                {
                    html += ";";
                }
                else
                {
                    html += "&fs=";
                    is_special_features_added = true;
                }

                html += "stops=0";
            }
            return(html);
        }