Example #1
0
        private void zmianaRezerwacji_Click(object sender, EventArgs e)
        {
            OknoDialogowe dialogRezerwacji = new OknoDialogowe("Id Rezerwacji", "Podaj id rezerwcji do zmiany:");

            dialogRezerwacji.ShowDialog();

            int idKlienta    = (int)listaKlientow.SelectedValue;
            int idRezerwacji = 0;

            try
            {
                idRezerwacji = Int32.Parse(dialogRezerwacji.Wynik);

                OknoWyboruDaty oknoWyboruDaty = new OknoWyboruDaty();
                DateTime       dataPoczatku, dataKonca;

                if (oknoWyboruDaty.ShowDialog() == DialogResult.OK)
                {
                    dataPoczatku = oknoWyboruDaty.WybranaData;
                    oknoWyboruDaty.ustawDateMinimalna(dataPoczatku);

                    if (oknoWyboruDaty.ShowDialog() == DialogResult.OK)
                    {
                        dataKonca = oknoWyboruDaty.WybranaData;
                    }
                    else
                    {
                        throw new Exception("Nie ustalono daty poczatku rezerwacji.");
                    }
                }
                else
                {
                    throw new Exception("Nie ustalono daty końca rezerwacji.");
                }

                string dataOd, dataDo;
                dataOd = dataPoczatku.Year + "/" + dataPoczatku.Month + "/" + dataPoczatku.Day;
                dataDo = dataKonca.Year + "/" + dataKonca.Month + "/" + dataKonca.Day;

                string liczbaRezerwacji =
                    "Select Count (*) From [WypozyczalniaLodzi].[dbo].[Rezerwacje] " +
                    "Where " +
                    "( " +
                    "DataWynajmu Between '" + dataOd + "' And '" + dataDo + "' " +
                    "Or " +
                    "DataZwrotu Between '" + dataOd + "' And '" + dataDo + "' " +
                    "Or " +
                    "'" + dataOd + "' Between DataWynajmu And DataZwrotu " +
                    "Or " +
                    "'" + dataDo + "' Between DataWynajmu And DataZwrotu " +
                    ") " +
                    "And LodzieId = (Select LodzieId From [WypozyczalniaLodzi].[dbo].[Rezerwacje] Where IdRezerwacji = " + idRezerwacji + ")";

                if ((int)ObslugaBazyDanych.pobierzWartosc(liczbaRezerwacji) > 0)
                {
                    throw new Exception("Dana łódź jest już zarezerwowana w tym terminie.");
                }

                string zapytanie = "Update WypozyczalniaLodzi.dbo.Rezerwacje Set DataWynajmu = '" + dataOd + "', DataZwrotu = '" + dataDo + "' Where IdRezerwacji = " + idRezerwacji + " And KlienciId = " + idKlienta;
                ObslugaBazyDanych.wykonajPolecenie(zapytanie);

                //Przeładowanie rezerwacji.
                wypelnijRezerwacje((int)listaKlientow.SelectedValue);
            }
            catch (FormatException ex)
            {
                MessageBox.Show("Id rezerwacji musi być liczbą całkowitą.\n" + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Example #2
0
        private void dodajRezerwacje_Click(object sender, EventArgs e)
        {
            OknoDialogowe dialogLodzi = new OknoDialogowe("Id Lodzi", "Podaj Id lodzi do rezerwacji:");

            dialogLodzi.ShowDialog();

            int idKlienta = (int)listaKlientow.SelectedValue;
            int idLodzi   = 0;

            try
            {
                idLodzi = Int32.Parse(dialogLodzi.Wynik);

                object czyStatekIstnieje = ObslugaBazyDanych.pobierzWartosc("Select Count (*) From WypozyczalniaLodzi.dbo.Lodzie Where IdLodzi = " + idLodzi);

                if (czyStatekIstnieje == null || (int)czyStatekIstnieje == 0)
                {
                    throw new Exception("Brak statku.");
                }

                OknoWyboruDaty oknoWyboruDaty = new OknoWyboruDaty();
                DateTime       dataPoczatku, dataKonca;

                if (oknoWyboruDaty.ShowDialog() == DialogResult.OK)
                {
                    dataPoczatku = oknoWyboruDaty.WybranaData;
                    oknoWyboruDaty.ustawDateMinimalna(dataPoczatku);

                    if (oknoWyboruDaty.ShowDialog() == DialogResult.OK)
                    {
                        dataKonca = oknoWyboruDaty.WybranaData;
                    }
                    else
                    {
                        throw new Exception("Nie ustalono daty poczatku rezerwacji.");
                    }
                }
                else
                {
                    throw new Exception("Nie ustalono daty końca rezerwacji.");
                }

                string dataOd, dataDo;
                dataOd = dataPoczatku.Year + "/" + dataPoczatku.Month + "/" + dataPoczatku.Day;
                dataDo = dataKonca.Year + "/" + dataKonca.Month + "/" + dataKonca.Day;

                string liczbaRezerwacji =
                    "Select Count (*) From [WypozyczalniaLodzi].[dbo].[Rezerwacje] " +
                    "Where " +
                    "( " +
                    "DataWynajmu Between '" + dataOd + "' And '" + dataDo + "' " +
                    "Or " +
                    "DataZwrotu Between '" + dataOd + "' And '" + dataDo + "' " +
                    "Or " +
                    "'" + dataOd + "' Between DataWynajmu And DataZwrotu " +
                    "Or " +
                    "'" + dataDo + "' Between DataWynajmu And DataZwrotu " +
                    ") " +
                    "And LodzieId = " + idLodzi;

                if ((int)ObslugaBazyDanych.pobierzWartosc(liczbaRezerwacji) > 0)
                {
                    throw new Exception("Dana łódź jest już zarezerwowana w tym terminie.");
                }

                string zapytanie = "Insert Into WypozyczalniaLodzi.dbo.Rezerwacje (LodzieId, PracownicyId, KlienciId, DataWynajmu, DataZwrotu) Values (" + idLodzi + ", " + DaneLogowania.Id + ", " + idKlienta + ", '" + dataOd + "', '" + dataDo + "')";
                ObslugaBazyDanych.wykonajPolecenie(zapytanie);

                //Przeładowanie rezerwacji.
                wypelnijRezerwacje((int)listaKlientow.SelectedValue);
            }
            catch (FormatException ex)
            {
                MessageBox.Show("Id lodzi musi być liczbą całkowitą.\n" + ex.Message);
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }