示例#1
0
        public Samolot()
        {
            InitializeComponent();
            con.ConnectionString = "server=localhost;user id=root;password=toor;persistsecurityinfo=True;database=plane"; //tu wklejamy connection stringa
            con.Open();

            this.Topmost = true; //okno zawsze na wierzchu

            if (PojemnikSamolot.uprawnienia_uzytkownika == 1)
            {
                Powrot.Visibility = Visibility.Visible;
            }
            else
            {
                Powrot.Visibility = Visibility.Hidden;
            }

            //inicjalizacja listy miejsc
            PojemnikSamolot.informacja = new List <Informacja_o_miejscach>();

            grid_definition(1366, HorizontalAlignment.Left, VerticalAlignment.Top, true, Colors.White); //definicja siatki

            for (int i = 0; i < PojemnikSamolot.il_siedzen_w_rzedzie + 2; i++)                          //tworzenie kolumn
            {
                if (i == 0)
                {
                    ColumnDefinition gridCol = new_column_ustalona(PojemnikSamolot.szerokosc_buforowa_siedzen);
                }
                if (i != 0 && i != (PojemnikSamolot.il_siedzen_w_rzedzie + 1))
                {
                    ColumnDefinition gridCol = new_column();
                }
                if (i == (PojemnikSamolot.il_siedzen_w_rzedzie + 1))
                {
                    ColumnDefinition gridCol = new_column_ustalona(PojemnikSamolot.szerokosc_buforowa_siedzen);
                }
            }

            //parzysta ilosc rzędów
            if (PojemnikSamolot.il_rzedow % 2 == 0) //tworzenie rzędów
            {
                for (int i = 0; i < PojemnikSamolot.il_rzedow + 3; i++)
                {
                    if (i == 0)
                    {
                        //strefa buforowa
                        RowDefinition gridRow = new_row(PojemnikSamolot.szerokosc_buforowa_rzedow);
                    }

                    if (i >= 1 && i <= PojemnikSamolot.il_rzedow / 2)
                    {
                        //normalne rzędy
                        RowDefinition gridRow = new_row((768 - (2 * PojemnikSamolot.szerokosc_buforowa_rzedow)) / (PojemnikSamolot.il_rzedow + 3));
                    }

                    if (i == ((PojemnikSamolot.il_rzedow / 2) + 1))
                    {
                        //strefa buforowa środkowa
                        RowDefinition gridRow = new_row(PojemnikSamolot.szerokosc_buforowa_rzedow / 5);
                    }

                    if (i >= ((PojemnikSamolot.il_rzedow / 2) + 2) && i <= (PojemnikSamolot.il_rzedow + 1))
                    {
                        RowDefinition gridRow = new_row((768 - (2 * PojemnikSamolot.szerokosc_buforowa_rzedow)) / (PojemnikSamolot.il_rzedow + 3));
                    }

                    if (i == PojemnikSamolot.il_rzedow + 2)
                    {
                        //strefa buforowa
                        RowDefinition gridRow = new_row(PojemnikSamolot.szerokosc_buforowa_rzedow);
                    }
                }
            }
            else //nieparzysta ilość rzędów
            {
                for (int i = 0; i < PojemnikSamolot.il_rzedow + 4; i++) //tworzenie rzędów
                {
                    if (i == 0)
                    {
                        //bufor
                        RowDefinition gridRow = new_row(PojemnikSamolot.szerokosc_buforowa_rzedow);
                    }
                    if (i >= 1 && i <= ((PojemnikSamolot.il_rzedow - 1) / 2))
                    {
                        //miejsca
                        RowDefinition gridRow = new_row((768 - (3 * PojemnikSamolot.szerokosc_buforowa_rzedow)) / (PojemnikSamolot.il_rzedow + 4));
                    }
                    if (i == ((PojemnikSamolot.il_rzedow - 1) / 2 + 1))
                    {
                        //bufor
                        RowDefinition gridRow = new_row(PojemnikSamolot.szerokosc_buforowa_rzedow / 2);
                    }
                    if (i == ((PojemnikSamolot.il_rzedow - 1) / 2 + 2))
                    {
                        //miejsce
                        RowDefinition gridRow = new_row((768 - (3 * PojemnikSamolot.szerokosc_buforowa_rzedow)) / (PojemnikSamolot.il_rzedow + 4));
                    }
                    if (i == ((PojemnikSamolot.il_rzedow - 1) / 2 + 3))
                    {
                        //bufor
                        RowDefinition gridRow = new_row(PojemnikSamolot.szerokosc_buforowa_rzedow / 2);
                    }
                    if (i >= ((PojemnikSamolot.il_rzedow - 1) / 2 + 4) && i <= (PojemnikSamolot.il_rzedow + 2))
                    {
                        //miejsca
                        RowDefinition gridRow = new_row((768 - (3 * PojemnikSamolot.szerokosc_buforowa_rzedow)) / (PojemnikSamolot.il_rzedow + 4));
                    }
                    if (i == PojemnikSamolot.il_rzedow + 3)
                    {
                        //bufor
                        RowDefinition gridRow = new_row(PojemnikSamolot.szerokosc_buforowa_rzedow);
                    }
                }
            }

            if (PojemnikSamolot.il_rzedow % 2 == 0) //dopasowanie przyciskow do parzystego rozkładu rzędów
            {
                for (int r = 0; r < PojemnikSamolot.il_rzedow + 3; r++)
                {
                    if (r == 0 || r == ((PojemnikSamolot.il_rzedow / 2) + 1) || r == PojemnikSamolot.il_rzedow + 2)
                    {
                        //nie tworzyć przycisków
                    }
                    else
                    {
                        for (int k = 1; k < PojemnikSamolot.il_siedzen_w_rzedzie + 1; k++)
                        {
                            if (k >= 1 && k <= 2)
                            {
                                //premium
                                PojemnikSamolot.Button[r, k] = button_create("Free", 15, 5, 5, 5, r, k);
                                button_klik_premium(r, k, zajetosc);
                            }
                            if (k >= 3 && k <= ((PojemnikSamolot.il_siedzen_w_rzedzie / 2) - 1))
                            {
                                PojemnikSamolot.Button[r, k] = button_create("Free", 5, 5, 5, 5, r, k);
                                button_klik(r, k, zajetosc);
                            }
                            if (k >= ((PojemnikSamolot.il_siedzen_w_rzedzie / 2)) && k <= ((PojemnikSamolot.il_siedzen_w_rzedzie / 2) + 2))
                            {
                                //premium
                                PojemnikSamolot.Button[r, k] = button_create("Free", 15, 5, 5, 5, r, k);
                                button_klik_premium(r, k, zajetosc);
                            }
                            if (k >= ((PojemnikSamolot.il_siedzen_w_rzedzie / 2) + 3) && k <= (PojemnikSamolot.il_siedzen_w_rzedzie - 2))
                            {
                                PojemnikSamolot.Button[r, k] = button_create("Free", 5, 5, 5, 5, r, k);
                                button_klik(r, k, zajetosc);
                            }
                            if (k >= (PojemnikSamolot.il_siedzen_w_rzedzie - 1))
                            {
                                //premium
                                PojemnikSamolot.Button[r, k] = button_create("Free", 15, 5, 5, 5, r, k);
                                button_klik_premium(r, k, zajetosc);
                            }
                        }
                    }
                }
            }
            else //dopasowanie przycisków do nieparzystego rozkładu rzędów
            {
                for (int r = 0; r < PojemnikSamolot.il_rzedow + 4; r++)
                {
                    if (r == 0 || r == ((PojemnikSamolot.il_rzedow - 1) / 2 + 1) || r == ((PojemnikSamolot.il_rzedow - 1) / 2 + 3) || r == PojemnikSamolot.il_rzedow + 3)
                    {
                        //nie tworzyć przycisków
                    }
                    else
                    {
                        for (int k = 1; k < PojemnikSamolot.il_siedzen_w_rzedzie + 1; k++)
                        {
                            if (k >= 1 && k <= 2)
                            {
                                //premium
                                PojemnikSamolot.Button[r, k] = button_create("Free", 15, 5, 5, 5, r, k);
                                button_klik_premium(r, k, zajetosc);
                            }
                            if (k >= 3 && k <= ((PojemnikSamolot.il_siedzen_w_rzedzie / 2) - 1))
                            {
                                PojemnikSamolot.Button[r, k] = button_create("Free", 5, 5, 5, 5, r, k);
                                button_klik(r, k, zajetosc);
                            }
                            if (k >= ((PojemnikSamolot.il_siedzen_w_rzedzie / 2)) && k <= ((PojemnikSamolot.il_siedzen_w_rzedzie / 2) + 2))
                            {
                                //premium
                                PojemnikSamolot.Button[r, k] = button_create("Free", 15, 5, 5, 5, r, k);
                                button_klik_premium(r, k, zajetosc);
                            }
                            if (k >= ((PojemnikSamolot.il_siedzen_w_rzedzie / 2) + 3) && k <= (PojemnikSamolot.il_siedzen_w_rzedzie - 2))
                            {
                                PojemnikSamolot.Button[r, k] = button_create("Free", 5, 5, 5, 5, r, k);
                                button_klik(r, k, zajetosc);
                            }
                            if (k >= (PojemnikSamolot.il_siedzen_w_rzedzie - 1))
                            {
                                //premium
                                PojemnikSamolot.Button[r, k] = button_create("Free", 15, 5, 5, 5, r, k);
                                button_klik_premium(r, k, zajetosc);
                            }
                        }
                    }
                }
            }

            if (PojemnikSamolot.il_rzedow % 2 == 1)                                //nieparzysty rozkład rzędów
            {
                for (int i = 1; i < PojemnikSamolot.il_siedzen_w_rzedzie + 1; i++) //tworzenie opisów do poszczególnych kolumn samolotu aby wiadomo było jaka kolumna ma jaki numer dla zamawiającego bilety
                {
                    TextBlock opis = opis_miejscowek(i, PojemnikSamolot.il_rzedow + 4, i, VerticalAlignment.Top, HorizontalAlignment.Center);
                }

                for (int i = 1; i < PojemnikSamolot.il_rzedow + 3; i++) //tworzenie opisów do poszczególnych rzędów samolotu aby wiadomo było jaki rząd posiada jaki numer dla zamawiającego
                {
                    TextBlock opis2 = opis_miejscowek(i, i, PojemnikSamolot.il_siedzen_w_rzedzie + 3, VerticalAlignment.Center, HorizontalAlignment.Left);
                }
            }
            else
            {
                for (int i = 1; i < PojemnikSamolot.il_siedzen_w_rzedzie + 1; i++) //tworzenie opisów do poszczególnych kolumn samolotu aby wiadomo było jaka kolumna ma jaki numer dla zamawiającego bilety
                {
                    TextBlock opis = opis_miejscowek(i, PojemnikSamolot.il_rzedow + 4, i, VerticalAlignment.Top, HorizontalAlignment.Center);
                }

                for (int i = 1; i < PojemnikSamolot.il_rzedow + 2; i++) //tworzenie opisów do poszczególnych rzędów samolotu aby wiadomo było jaki rząd posiada jaki numer dla zamawiającego
                {
                    TextBlock opis2 = opis_miejscowek(i, i, PojemnikSamolot.il_siedzen_w_rzedzie + 3, VerticalAlignment.Center, HorizontalAlignment.Left);
                }
            }
            if (PojemnikSamolot.uprawnienia_uzytkownika != 1)
            {
                //obsługa przycisku dalej
                Button dalej = button_create("Dalej", 0, 0, 0, 0, PojemnikSamolot.il_rzedow + 4, PojemnikSamolot.il_siedzen_w_rzedzie + 3);
                dalej.Click += (s, e) =>
                {
                    if (PojemnikSamolot.ilosc_miejsc < PojemnikSamolot.max_il_miejsc && PojemnikSamolot.ilosc_miejsc >= 0)
                    {
                        MessageBox.Show("Nie wybrano wymaganej liczby miejsc, proszę to zrobić po czym nacisnąć ponownie dalej");
                    }
                    else
                    {
                        Window1     window  = (Window1)this.DataContext;;
                        DynamicGrid NewGrid = new DynamicGrid();
                        window.AnotherGrid.Children.Clear();
                        window.AnotherGrid.RowDefinitions.Clear();
                        window.AnotherGrid.ColumnDefinitions.Clear();
                        NewGrid.MyGrid(window.AnotherGrid, HorizontalAlignment.Stretch, VerticalAlignment.Stretch, false, Colors.WhiteSmoke);
                        window.AnotherGrid.Background         = new SolidColorBrush(Colors.Black);
                        window.AnotherGrid.Background.Opacity = 0;
                        for (int i = 0; i < 2 * (Int16.Parse(window.tbAdults.Text) + Int16.Parse(window.tbChildren.Text)) + 1; i++)
                        {
                            if (i % 2 != 0)
                            {
                                NewGrid.NewRow(window.AnotherGrid, 26, GridUnitType.Pixel);
                            }
                            else
                            {
                                NewGrid.NewRow(window.AnotherGrid, 50, GridUnitType.Pixel);
                            }
                        }
                        for (int i = 0; i < 5; i++)
                        {
                            if (i % 2 != 0)
                            {
                                NewGrid.NewColumn(window.AnotherGrid, 120, GridUnitType.Pixel);
                            }
                            else
                            {
                                NewGrid.NewColumn(window.AnotherGrid, 70, GridUnitType.Pixel);
                            }
                        }
                        int whichPerson = 1;
                        for (Int16 i = 1; i < 2 * (Int16.Parse(window.tbAdults.Text) + Int16.Parse(window.tbChildren.Text)) + 1; i += 2)
                        {
                            for (Int16 j = 1; j <= 3; j += 2)
                            {
                                if (j == 1)
                                {
                                    TextBox txtBox = new TextBox();
                                    NewGrid.NewLabel(window.AnotherGrid, Colors.White, 12, FontWeights.SemiBold, FontStyles.Normal, "Segoe UI", VerticalAlignment.Bottom, HorizontalAlignment.Center, "Pasażer" + whichPerson.ToString(), i, (Int16)(j - 1));
                                    NewGrid.NewLabel(window.AnotherGrid, Colors.White, 12, FontWeights.SemiBold, FontStyles.Normal, "Segoe UI", VerticalAlignment.Bottom, HorizontalAlignment.Left, "Rząd:", (Int16)(i - 1), j);
                                    txtBox = NewGrid.NewTextBox(window.AnotherGrid, PojemnikSamolot.informacja[whichPerson - 1].rzad.ToString(), 12, FontWeights.SemiBold, FontStyles.Normal, VerticalAlignment.Center, Colors.Black, i, j, false);
                                }
                                else
                                {
                                    TextBox txtBox = new TextBox();
                                    NewGrid.NewLabel(window.AnotherGrid, Colors.White, 12, FontWeights.SemiBold, FontStyles.Normal, "Segoe UI", VerticalAlignment.Bottom, HorizontalAlignment.Left, "Miejsce:", (Int16)(i - 1), j);
                                    txtBox = NewGrid.NewTextBox(window.AnotherGrid, PojemnikSamolot.informacja[whichPerson - 1].miejsce.ToString(), 12, FontWeights.SemiBold, FontStyles.Normal, VerticalAlignment.Center, Colors.Black, i, j, false);
                                }
                            }
                            whichPerson += 1;
                        }
                        this.Close();
                    }
                };
            }

            //blokowanie przycisków w zaleznosci od trasy (tzn. zajetosc miejsc na dana trase)
            try
            {
                if (ilosc_pobran > 0)
                {
                    con.Close();
                    con.Open();
                }
                using (MySqlCommand command = new MySqlCommand("SELECT rzad,miejsce FROM tickets WHERE skad='" + PojemnikSamolot.skad + "' AND dokad='" + PojemnikSamolot.dokad + "'", con))
                {
                    MySqlDataReader reader = command.ExecuteReader();
                    while (reader.Read())
                    {
                        button_klik_premium(reader.GetInt32(0), reader.GetInt32(1), 1);
                        ilosc_pobran += 1;
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Błąd odczytu z bazy" + ex);
            }
        }
        //***********-----------Przechodzenie pomiędzy tabami-----------***********\\
        // przyciski "Dalej"
        private void ButtonNext_Click(object sender, RoutedEventArgs e)
        {
            PojemnikSamolot.newIndex = tcTicket.SelectedIndex + 1;
            // obsługa poszczególnych tabów
            switch (PojemnikSamolot.newIndex)
            {
            case 1:
                tcTicket.SelectedIndex = PojemnikSamolot.newIndex;
                break;

            case 2:
                tcTicket.SelectedIndex = PojemnikSamolot.newIndex;
                // tworzenie nowego Grid'a w zależności od wybranej ilości osób dorosłych i dzieci
                DynamicGrid GridNew = new DynamicGrid();
                //tabSpecificInformation.IsEnabled = true;
                NewGrid.Children.Clear();
                NewGrid.RowDefinitions.Clear();
                NewGrid.ColumnDefinitions.Clear();
                GridNew.MyGrid(NewGrid, HorizontalAlignment.Stretch, VerticalAlignment.Stretch, false, Colors.WhiteSmoke);
                // dynamiczne tworzenie rzędów siatki
                NewGrid.Background         = new SolidColorBrush(Colors.Black);
                NewGrid.Background.Opacity = 0;
                for (int i = 0; i < 2 * (Int16.Parse(tbAdults.Text) + Int16.Parse(tbChildren.Text)) + 1; i++)
                {
                    if (i % 2 != 0)
                    {
                        GridNew.NewRow(NewGrid, 26, GridUnitType.Pixel);
                    }
                    else
                    {
                        GridNew.NewRow(NewGrid, 50, GridUnitType.Pixel);
                    }
                }
                // dynamiczne tworzenie kolumn siatki
                for (int i = 0; i < 5; i++)
                {
                    if (i % 2 != 0)
                    {
                        GridNew.NewColumn(NewGrid, 120, GridUnitType.Pixel);
                    }
                    else
                    {
                        GridNew.NewColumn(NewGrid, 70, GridUnitType.Pixel);
                    }
                }
                int whichPerson = 1;
                int tmp;
                // uzupełnianie pól siatki (odpowiednich rzędów i kolumn) wybranymi obiektami
                for (Int16 i = 1; i < 2 * (Int16.Parse(tbAdults.Text) + Int16.Parse(tbChildren.Text)) + 1; i += 2)
                {
                    tmp = 0;
                    for (Int16 j = 1; j <= 3; j += 2)
                    {
                        if (j == 1)
                        {
                            GridNew.NewLabel(NewGrid, Colors.White, 12, FontWeights.SemiBold, FontStyles.Normal, "Segoe UI", VerticalAlignment.Bottom, HorizontalAlignment.Center, "Pasażer" + whichPerson.ToString(), i, (Int16)(j - 1));
                            GridNew.NewLabel(NewGrid, Colors.White, 12, FontWeights.SemiBold, FontStyles.Normal, "Segoe UI", VerticalAlignment.Bottom, HorizontalAlignment.Left, "Imię:", (Int16)(i - 1), j);
                            PojemnikSamolot.textBox[whichPerson - 1, tmp] = GridNew.NewTextBox(NewGrid, "", 12, FontWeights.SemiBold, FontStyles.Normal, VerticalAlignment.Center, Colors.Black, i, j, true);
                            // zabezpieczenie przed wpisywaniem znaków spoza alfabetu w przypadku podawania imienia pasażera
                            PojemnikSamolot.textBox[whichPerson - 1, tmp].PreviewTextInput += (s, TextCompositionEventArgs) =>
                            {
                                Regex regex = new Regex("[^a-zA-Z]+");
                                TextCompositionEventArgs.Handled = regex.IsMatch(TextCompositionEventArgs.Text);
                            };
                            tmp = 1;
                        }
                        else
                        {
                            GridNew.NewLabel(NewGrid, Colors.White, 12, FontWeights.SemiBold, FontStyles.Normal, "Segoe UI", VerticalAlignment.Bottom, HorizontalAlignment.Left, "Nazwisko:", (Int16)(i - 1), j);
                            PojemnikSamolot.textBox[whichPerson - 1, tmp] = GridNew.NewTextBox(NewGrid, "", 12, FontWeights.SemiBold, FontStyles.Normal, VerticalAlignment.Center, Colors.Black, i, j, true);
                            // zabezpieczenie przed wpisywaniem znaków spoza alfabetu w przypadku podawania nazwiska pasażera
                            PojemnikSamolot.textBox[whichPerson - 1, tmp].PreviewTextInput += (s, TextCompositionEventArgs) =>
                            {
                                Regex regex = new Regex("[^a-zA-Z]+");
                                TextCompositionEventArgs.Handled = regex.IsMatch(TextCompositionEventArgs.Text);
                            };
                        }
                    }
                    whichPerson += 1;
                }
                break;

            case 3:
                bool dalej = true;     // flaga pozwalająca na zabezpieczeniem przed kliknięciem przycisku "Dalej" bez podania imion i nazwisk pasażerów
                for (int i = 0; i < (Int16.Parse(tbAdults.Text) + Int16.Parse(tbChildren.Text)); i++)
                {
                    for (int j = 0; j < 2; j++)
                    {
                        if (PojemnikSamolot.textBox[i, j].Text == "")
                        {
                            dalej = false;
                        }
                    }
                }
                // jeśli wszystkie pola są zapełnione wyświetlany jest widok samolotu
                if (dalej == true)
                {
                    tcTicket.SelectedIndex = PojemnikSamolot.newIndex;

                    //wpisywanie do pojemnika miejsca wylotu i miejsca docelowego
                    PojemnikSamolot.skad  = cBoxFlyFrom.SelectedItem.ToString();
                    PojemnikSamolot.dokad = cboxFlyTo.SelectedItem.ToString();
                    //w zaleznosci od wybranych skad i dokad wybierany jest typ wyświetlanego samolotu
                    try
                    {
                        if (ilosc_pobran > 0)
                        {
                            con.Close();
                            con.Open();
                        }
                        using (MySqlCommand command = new MySqlCommand("SELECT ty.row_no,ty.place_per_row,ty.buffor_row,ty.buffor_place FROM types ty JOIN flyfit ft ON ty.name = ft.name WHERE ft.skad = '" + cBoxFlyFrom.SelectedItem.ToString() + "' AND ft.dokad = '" + cboxFlyTo.SelectedItem.ToString() + "'", con))
                        {
                            MySqlDataReader reader = command.ExecuteReader();
                            while (reader.Read())
                            {
                                PojemnikSamolot.il_rzedow                  = reader.GetInt32(0);
                                PojemnikSamolot.il_siedzen_w_rzedzie       = reader.GetInt32(1);
                                PojemnikSamolot.szerokosc_buforowa_rzedow  = reader.GetInt32(2);
                                PojemnikSamolot.szerokosc_buforowa_siedzen = reader.GetInt32(3);
                                ilosc_pobran += 1;
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageBox.Show("Błąd odczytu z bazy" + ex);
                    }
                    con.Close();
                    PojemnikSamolot.max_il_miejsc = (Int16.Parse(tbAdults.Text) + Int16.Parse(tbChildren.Text));
                    Samolot widok_samolot = new Samolot();
                    widok_samolot.DataContext = this;
                    widok_samolot.Show();
                    // w zależności od tego co wybrane zostało w combo boxie tutaj ustawiana jest zmienna
                    if (cBoxClasses.SelectedValue.ToString() == "Premium")
                    {
                        PojemnikSamolot.klasa_samolot = 1;
                    }
                    else
                    {
                        PojemnikSamolot.klasa_samolot = 2;
                    }
                }
                // w przeciwnym wypadku wyświetlany jest komunikat o błędzie
                else
                {
                    MessageBox.Show("Wpisz imiona i nazwiska wszystkich pasażerów");
                }
                break;

            case 4:
                // wypełnianie danych o zakupionym bilecie
                tcTicket.SelectedIndex   = PojemnikSamolot.newIndex;
                butSaveTicket.IsEnabled  = true;    // włączenie możliwości zapisania biletu
                labFlyFrom.Content       = cBoxFlyFrom.SelectedItem.ToString();
                labFlyTo.Content         = cboxFlyTo.SelectedItem.ToString();
                labClass.Content         = cBoxClasses.SelectedItem.ToString();
                numberOfAdults.Content   = tbAdults.Text;
                numberOfChildren.Content = tbChildren.Text;
                numberOfBabies.Content   = tbBabies.Text;
                // przykładowe ceny biletów w klasie zwykłej
                if (cBoxClasses.SelectedItem.ToString() == "Zwykła")
                {
                    adultsCost.Content   = "100";
                    childrenCost.Content = "73";
                    babiesCost.Content   = "20";
                }
                // przykładowe ceny biletów w klasie premium
                else if (cBoxClasses.SelectedItem.ToString() == "Premium")
                {
                    adultsCost.Content   = "150";
                    childrenCost.Content = "110";
                    babiesCost.Content   = "30";
                }
                // zapełnienie elementów treścią w zależności od wybrania typu lotu
                // lot w jedną stronę
                if (rbOneWay.IsChecked == true)
                {
                    labTypeOfTravel.Content    = rbOneWay.Content;
                    labDateOfDeparture.Content = dateOfDeparture.SelectedDate.Value.Date;
                    labDateOfArrival.Content   = "--.--.----";
                    adultsCostSum.Content      = (int.Parse(adultsCost.Content.ToString()) * int.Parse(numberOfAdults.Content.ToString())).ToString();
                    childrenCostSum.Content    = (int.Parse(childrenCost.Content.ToString()) * int.Parse(numberOfChildren.Content.ToString())).ToString();
                    babiesCostSum.Content      = (int.Parse(babiesCost.Content.ToString()) * int.Parse(numberOfBabies.Content.ToString())).ToString();
                }
                // lot w dwie strony
                else if (rbTwoWay.IsChecked == true)
                {
                    labTypeOfTravel.Content    = rbTwoWay.Content;
                    labDateOfDeparture.Content = dateOfDeparture.SelectedDate.Value.Date;
                    labDateOfArrival.Content   = dateOfArrival.SelectedDate.Value.Date;
                    adultsCostSum.Content      = (2 * int.Parse(adultsCost.Content.ToString()) * int.Parse(numberOfAdults.Content.ToString())).ToString();
                    childrenCostSum.Content    = (2 * int.Parse(childrenCost.Content.ToString()) * int.Parse(numberOfChildren.Content.ToString())).ToString();
                    babiesCostSum.Content      = (2 * int.Parse(babiesCost.Content.ToString()) * int.Parse(numberOfBabies.Content.ToString())).ToString();
                }
                Cost.Content = (int.Parse(adultsCostSum.Content.ToString()) + int.Parse(childrenCostSum.Content.ToString()) + int.Parse(babiesCostSum.Content.ToString())).ToString() + " zł";
                // tworzenie dynamicznej siatki w celu wypisania danych pasażerów, oraz wybranych przez nich miejsc
                DynamicGrid SumGrid = new DynamicGrid();
                SummaryGrid.Children.Clear();
                SummaryGrid.RowDefinitions.Clear();
                SummaryGrid.ColumnDefinitions.Clear();
                SumGrid.MyGrid(SummaryGrid, HorizontalAlignment.Stretch, VerticalAlignment.Stretch, false, Colors.WhiteSmoke);
                for (int i = 0; i < 2 * (Int16.Parse(tbAdults.Text) + Int16.Parse(tbChildren.Text)) + 1; i++)
                {
                    if (i % 2 != 0)
                    {
                        SumGrid.NewRow(SummaryGrid, 26, GridUnitType.Pixel);
                        SumGrid.NewRow(SummaryGrid, 26, GridUnitType.Pixel);
                        SumGrid.NewRow(SummaryGrid, 26, GridUnitType.Pixel);
                    }
                    else
                    {
                        SumGrid.NewRow(SummaryGrid, 50, GridUnitType.Pixel);
                    }
                }
                for (int i = 0; i < 5; i++)
                {
                    if (i % 2 != 0)
                    {
                        SumGrid.NewColumn(SummaryGrid, 120, GridUnitType.Pixel);
                    }
                    else
                    {
                        SumGrid.NewColumn(SummaryGrid, 70, GridUnitType.Pixel);
                    }
                }
                whichPerson = 1;
                for (Int16 i = 3; i < 4 * (Int16.Parse(tbAdults.Text) + Int16.Parse(tbChildren.Text)) + 1; i += 4)
                {
                    tmp = 0;
                    for (Int16 j = 1; j <= 3; j += 2)
                    {
                        if (j == 1)
                        {
                            TextBox txtBox = new TextBox();
                            SumGrid.NewLabel(SummaryGrid, Colors.Black, 12, FontWeights.SemiBold, FontStyles.Normal, "Segoe UI", VerticalAlignment.Bottom, HorizontalAlignment.Center, "Pasażer" + whichPerson.ToString(), (Int16)(i - 2), (Int16)(j - 1));
                            SumGrid.NewLabel(SummaryGrid, Colors.Black, 12, FontWeights.SemiBold, FontStyles.Normal, "Segoe UI", VerticalAlignment.Bottom, HorizontalAlignment.Left, "Imię:", (Int16)(i - 3), j);
                            SumGrid.NewLabel(SummaryGrid, Colors.Black, 12, FontWeights.SemiBold, FontStyles.Normal, "Segoe UI", VerticalAlignment.Bottom, HorizontalAlignment.Left, "Rząd:", (Int16)(i - 1), j);
                            txtBox = SumGrid.NewTextBox(SummaryGrid, PojemnikSamolot.textBox[whichPerson - 1, tmp].Text, 12, FontWeights.SemiBold, FontStyles.Normal, VerticalAlignment.Center, Colors.Black, (Int16)(i - 2), j, false);
                            txtBox = SumGrid.NewTextBox(SummaryGrid, PojemnikSamolot.informacja[whichPerson - 1].rzad.ToString(), 12, FontWeights.SemiBold, FontStyles.Normal, VerticalAlignment.Center, Colors.Black, i, j, false);
                            tmp    = 1;
                        }
                        else
                        {
                            TextBox txtBox = new TextBox();
                            SumGrid.NewLabel(SummaryGrid, Colors.Black, 12, FontWeights.SemiBold, FontStyles.Normal, "Segoe UI", VerticalAlignment.Bottom, HorizontalAlignment.Left, "Miejsce:", (Int16)(i - 1), j);
                            SumGrid.NewLabel(SummaryGrid, Colors.Black, 12, FontWeights.SemiBold, FontStyles.Normal, "Segoe UI", VerticalAlignment.Bottom, HorizontalAlignment.Left, "Nazwisko:", (Int16)(i - 3), j);
                            txtBox = SumGrid.NewTextBox(SummaryGrid, PojemnikSamolot.textBox[whichPerson - 1, tmp].Text, 12, FontWeights.SemiBold, FontStyles.Normal, VerticalAlignment.Center, Colors.Black, (Int16)(i - 2), j, false);
                            txtBox = SumGrid.NewTextBox(SummaryGrid, PojemnikSamolot.informacja[whichPerson - 1].miejsce.ToString(), 12, FontWeights.SemiBold, FontStyles.Normal, VerticalAlignment.Center, Colors.Black, i, j, false);
                        }
                    }
                    whichPerson += 1;
                }
                break;
            }
        }