示例#1
0
文件: Firma.cs 项目: keron31/zadanko
 public void PrzyciskAnulujRezerwacje(RezerwcjaBilet Dowywalenia)
 {
     if (Dowywalenia != null)
     {
         Dowywalenia.Polaczenie.AnulujRezerwacje(Dowywalenia.Pasazer, Dowywalenia);
     }
     else
     {
         throw new Wyjatek("Zaznacz konkretny obiekt!");
     }
 }
示例#2
0
文件: Klient.cs 项目: keron31/zadanko
 /// <summary>
 /// Funkcja do usuwania biletów, zwraca fałsz jeżeli nie ma danego biletu na liście
 /// zwraca prawde jeżeli usuwany bilet był na liście i usuną dany bilet
 /// /// </summary>
 /// <param name="UsuwanyBilet"></param>
 /// <returns></returns>
 public Boolean UsunBiletRezerwacje(RezerwcjaBilet UsuwanyBilet)
 {
     if (ListaBiletowRezerwacji.Count() != 0)
     {
         foreach (RezerwcjaBilet Obiekt in ListaBiletowRezerwacji)
         {
             if (Obiekt == UsuwanyBilet)
             {
                 ListaBiletowRezerwacji.Remove(UsuwanyBilet);
                 return(true);
             }
         }
     }
     return(false);
 }
示例#3
0
文件: Klient.cs 项目: keron31/zadanko
 /// <summary>
 /// Funkcja zwracająca fałsz jak chcemy dodać bilet który już jest na liśćie
 /// nie wiem czy się przyda ale tak na wszelki wypadek już jest XD
 /// </summary>
 /// <returns></returns>
 public Boolean DodajBiletRezerwacje(RezerwcjaBilet DodawanyBilet)
 {
     if (ListaBiletowRezerwacji.Count() != 0)
     {
         foreach (RezerwcjaBilet Obiekt in ListaBiletowRezerwacji)// to prawdopodobnie nie jest potrzebne , jak będziemy robili to w WPFie to nie będzie sytuacji gdzie dodajemy ten sam bilet
         {
             if (Obiekt == DodawanyBilet)
             {
                 return(false);
             }
         }
     }
     ListaBiletowRezerwacji.Add(DodawanyBilet);
     return(true);
 }
示例#4
0
        /// <summary>
        /// Funkcja potrzebna w sytuacji, kiedy Id jest brane z listy usuniętych obiektów , ta funkcja sprawdza czy Taka sytuacja miała miejsce
        /// Zwraca true jeżeli id pierwszego biletu jest większa, zwraca false w przeciwnym wypadku
        /// </summary>
        /// <returns></returns>
        public Boolean PorownajIDBiletow(RezerwcjaBilet Bilet1, RezerwcjaBilet Bilet2)
        {
            if (Bilet1 != null && Bilet2 != null)
            {
                if (Bilet1.NrMiesca > Bilet2.NrMiesca)
                {
                    return(true);
                }

                if (Bilet1.NrMiesca < Bilet2.NrMiesca)
                {
                    return(false);
                }

                throw new Wyjatek("Bardzo poważny problem , dwa bilety mają ten sam numer miejsca co nie powinno mić miejsca!"); // poważny błąd, raczej nie trzeba go obsługiwac , napisany po to żeby
                                                                                                                                 // zawiadomic że wystąpił błąd logiczny i trzeba popatrzeć w kodzik- możliwe że jakieś
                                                                                                                                 //id z kosza zostało dane na koniec listy i tworzą się kopie id które juz jest na liści
            }
            throw new Wyjatek("Jeden z obiektów jest nullem");
        }
示例#5
0
        /// <summary>
        /// Funkcja dodająca rezerwacje na dany lot dla danej osoby, CyToKupno określa czy klient rezerwuje czy kupuje od razu bilet
        /// </summary>
        /// <param name="_Klient"></param>
        /// <param name="CzyVIP"></param>
        /// <returns></returns>
        public void RezerwujKupBilet(Klient _Klient, Boolean CzyVIP, Boolean CzyToKupno, DateTime AktualnaData)
        {
            if ((this.GetIloscMiejscWolnychZwyklych() != 0 && CzyVIP == false) || (this.GetIloscMiejscWolnychVip() != 0 && CzyVIP == true))                 // funkcja sprawdza czy można zarezerwować miejsce
            {
                RezerwcjaBilet NowyBilecikRezerwacja = new RezerwcjaBilet(PrzydzielanieIDRezerwacja(), 0, CzyVIP, _Klient, AktualnaData, CzyToKupno, this); // te zero trzeba zamienic na funkcje liczącą cene biletu , na przykład na podstawie odległości
                _Klient.DodajBiletRezerwacje(NowyBilecikRezerwacja);

                if (PorownajIDBiletow(NowyBilecikRezerwacja, ListaRezerwacji[ListaRezerwacji.Count() - 1]))// to sytuacja kiedy nowy obiekt ma większe id - jest dodawany na koncu
                {
                    ListaRezerwacji.Add(NowyBilecikRezerwacja);
                }
                else
                {
                    ListaRezerwacji.Insert(0, NowyBilecikRezerwacja);
                }
            }
            else
            {
                throw new Wyjatek("Brak miejsc wolnych");
            }
        }
示例#6
0
 /// <summary>
 ///  Funkcja usuwająca rezerwacje i bilety- usuwa z listy w kliencie i z listy w Locie
 ///  Nie ma żadanego boola czy zwracania wyjątków , więc z góry zakładamy że biletdousunięcia istnieje tak samo jak Klient
 /// </summary>
 /// <param name="Objekt"></param>
 /// <param name="Biletdousuniecia"></param>
 public void AnulujRezerwacje(Klient Objekt, RezerwcjaBilet Biletdousuniecia)
 {
     LNIDRezerwacjiBiletow.Add(Biletdousuniecia.GetNrRezerwacji());// numer biletu jest wsadzany do kosza, z którego później będzie brane
     ListaRezerwacji.Remove(Biletdousuniecia);
     Objekt.UsunBiletRezerwacje(Biletdousuniecia);
 }