示例#1
0
        /// <summary>
        /// Metoda dodająca zmiany w rezerwacji do bazy danych.
        /// </summary>
        /// <param name="numerRezerwacji">Numer rezerwacji, dla której pobierane sa informacje.</param>
        /// <param name="uzytkownik">Aktualnie zalogowany użytkownik</param>
        /// <returns>Zwraca odpowiednie informacje o powodzeniu operacji.</returns>
        public int ZaplacRezerwacje(int numerRezerwacji, string uzytkownik)
        {
            try
            {
                var rez = (from rezerwacja in db.Rezerwacja
                           where rezerwacja.numer_rezerwacji == numerRezerwacji &&
                           rezerwacja.Klient_pesel.Equals(uzytkownik)
                           select rezerwacja).FirstOrDefault();

                var uczest = (from uczestnictwo in db.Uczestnictwo
                              where uczestnictwo.numer_rezerwacji == numerRezerwacji &&
                              uczestnictwo.Rezerwacja.Klient_pesel.Equals(uzytkownik)
                              select uczestnictwo).FirstOrDefault();
                try
                {
                    decimal kwota = decimal.Parse(_view.tb_kwotaZaplacona.Text);

                    if ((kwota + rez.zaliczka) == uczest.cena_rezerwacji)
                    {
                        rez.zaliczka += kwota;
                        rez.stan      = true;
                        db.SaveChanges();
                        db.Dispose();
                        db = new bazaEntities();
                        return(1);
                    }
                    else if ((kwota + rez.zaliczka) > uczest.cena_rezerwacji)
                    {
                        return(0);
                    }
                    else if ((kwota + rez.zaliczka) < uczest.cena_rezerwacji)
                    {
                        rez.zaliczka += kwota;
                        rez.stan      = false;
                        db.SaveChanges();
                        db.Dispose();
                        db = new bazaEntities();
                        return(-1);
                    }
                    return(2);
                }
                catch (FormatException)
                {
                    return(-3);
                }
            }
            catch (FormatException)
            {
                return(-4);
            }
        }
示例#2
0
        /// <summary>
        /// Metoda odpowiedzialna za dodawanie opiniii do bazy dacych.
        /// </summary>
        /// <param name="numerRezerwacji">Numer rezerwacji, której dotyczy opinia.</param>
        /// <param name="ocena">Ocena wycieczki</param>
        /// <param name="opis">Opis wycieczki</param>
        /// <param name="uzytkownik">Pesel użytkownika, który zamawiał wycieczkę</param>
        /// <returns>Zwraca odpowiednie informacje o powodzeniu operacji.</returns>
        public int DodajOpinie(int numerRezerwacji, int ocena, string opis, string uzytkownik)
        {
            try
            {
                var query = (from uczestnictwo in db.Uczestnictwo
                             where uczestnictwo.numer_rezerwacji == numerRezerwacji && uczestnictwo.Rezerwacja.Klient_pesel.Equals(uzytkownik)
                             select uczestnictwo).FirstOrDefault();

                var opinia = new Opinia
                {
                    opis  = opis,
                    ocena = ocena,
                };

                opinia.Uczestnictwo = query;
                db.Opinia.Add(opinia);
                db.SaveChanges();
                db.Dispose();
                db = new bazaEntities();
                return(1);
            }
            catch (FormatException)
            {
                return(0);
            }
            catch (Exception)
            {
                return(-1);
            }
        }
示例#3
0
        /// <summary>
        /// Metoda odpowiedzialna za dodawanie nowego pojazdu do bazy danych wraz z wszystimi informacjami o nim.
        /// </summary>
        /// <returns>Zwraca odpowiednie informacje o powodzeniu operacji.</returns>
        public int DodajPojazd()
        {
            try
            {
                PojazdView _view = (PojazdView)view;
                using (var db = new bazaEntities())
                {
                    int pojemnosc = int.Parse(_view.tb_pojemnosc.Text);

                    var sprawdz = (from poj in db.Pojazd
                                   where poj.numer_rejestracyjny.Equals(_view.tb_numer_rejestracyjny.Text)
                                   select poj).FirstOrDefault();
                    if (sprawdz == null)
                    {
                        var pojazd = new Pojazd
                        {
                            numer_rejestracyjny = _view.tb_numer_rejestracyjny.Text,
                            dostepny            = true,
                            marka     = _view.tb_marka.Text,
                            stan      = true,
                            pojemnosc = pojemnosc
                        };

                        db.Pojazd.Add(pojazd);
                        db.SaveChanges();
                        db.Dispose();
                        return(1);
                    }
                    else
                    {
                        return(-2);
                    }
                }
            }
            catch (FormatException)
            {
                return(0);
            }
            catch (Exception)
            {
                return(-1);
            }
        }
示例#4
0
        /// <summary>
        /// Metoda zapisująca zmiany do bazy danych.
        /// </summary>
        /// <param name="numerRezerwacji">Numer rezerwacji, której dotyczy opinia.</param>
        /// <param name="uzytkownik">Pesel użytkownika, który zamawiał wycieczkę</param>
        /// <returns>Zwraca odpowiednie informacje o powodzeniu operacji.</returns>
        public int Zapisz(int numerRezerwacji, string uzytkownik)
        {
            try
            {
                var uczestnictwo = (from uc in db.Uczestnictwo
                                    where uc.numer_rezerwacji == numerRezerwacji && uc.Rezerwacja.Klient_pesel.Equals(uzytkownik)
                                    select uc).FirstOrDefault();

                if ((int.Parse(_view.tb_liczbaOsob.Text) - int.Parse(_view.tb_liczbaRezygnujacychOsob.Text)) == 0)
                {
                    var usun = (from rezerw in db.Rezerwacja
                                where rezerw.numer_rezerwacji == numerRezerwacji && rezerw.Klient_pesel.Equals(uzytkownik)
                                select rezerw).FirstOrDefault();

                    db.Rezerwacja.Remove(usun);
                }
                else
                {
                    uczestnictwo.cena_rezerwacji = decimal.Parse(_view.tb_cenaPoRezygnacji.Text);
                    uczestnictwo.liczba_osob     = int.Parse(_view.tb_liczbaOsob.Text) - int.Parse(_view.tb_liczbaRezygnujacychOsob.Text);
                }

                try
                {
                    db.SaveChanges();
                    db.Dispose();
                    db = new bazaEntities();
                    return(1);
                }
                catch (Exception)
                {
                    return(-1);
                }
            }
            catch (FormatException)
            {
                return(0);
            }
        }
示例#5
0
        /// <summary>
        /// Metoda dodająca reklamację do bazy danych.
        /// </summary>
        /// <param name="numerRezerwacji">Nume rezerwacji, dla której dodawana jest reklamacja.</param>
        /// <param name="uzytkownik">Aktualnie zalogowany użytkownik</param>
        /// <returns>Zwraca odpowiednie informacje o powodzeniu operacji.</returns>
        public int DodajReklamacje(int numerRezerwacji, string uzytkownik)
        {
            try
            {
                if (sprawdzCzyTaSama == numerRezerwacji)
                {
                    var uczestnictwo = (from uc in db.Uczestnictwo
                                        where uc.numer_rezerwacji == numerRezerwacji && uc.Rezerwacja.Klient_pesel.Equals(uzytkownik)
                                        select uc).FirstOrDefault();

                    var reklamacja = new Reklamacja
                    {
                        opis            = _view.tb_opis_reklamacji.Text,
                        stan            = false,
                        Kierownik_pesel = null,
                    };

                    reklamacja.Uczestnictwo = uczestnictwo;

                    db.Reklamacja.Add(reklamacja);
                    db.SaveChanges();
                    db.Dispose();
                    db = new bazaEntities();
                    return(1);
                }
                else
                {
                    return(-2);
                }
            }
            catch (FormatException)
            {
                return(0);
            }
            catch (Exception)
            {
                return(-1);
            }
        }
示例#6
0
        /// <summary>
        /// Metoda zapisuuje do bazy danych zmiany dla wybranego wcześniej pojazdu.
        /// </summary>
        /// <param name="numerRejestracyjny">Numer rejestracyjny edytowanego pojazdu.</param>
        /// <returns>Zwraca odpowiednie informacje o powodzeniu operacji.</returns>
        public int ZapiszZmiany(string numerRejestracyjny)
        {
            _view.lv_pojazdy.Items.Clear();

            if (_view.rb_awaria.Checked)
            {
                var query = (from pojazd in db.Pojazd
                             where pojazd.numer_rejestracyjny.Equals(numerRejestracyjny)
                             select pojazd).FirstOrDefault();

                if (query == null)
                {
                    return(-1);
                }
                else
                {
                    query.stan = false;

                    try
                    {
                        db.SaveChanges();
                        db.Dispose();
                        db = new bazaEntities();
                        return(1);
                    }
                    catch (Exception)
                    {
                        return(0);
                    }
                }
            }
            else if (_view.rb_sprawny.Checked)
            {
                var query = (from pojazd in db.Pojazd
                             where pojazd.numer_rejestracyjny.Equals(numerRejestracyjny)
                             select pojazd).FirstOrDefault();

                if (query == null)
                {
                    return(-2);
                }
                else
                {
                    query.stan = true;

                    try
                    {
                        db.SaveChanges();
                        return(2);
                    }
                    catch (Exception)
                    {
                        return(0);
                    }
                }
            }
            else
            {
                return(-3);
            }
        }