Example #1
0
 public PlanLotu(DateTime PierwszyLot, TimeSpan _CoIleLata, Trasa Kierunek, TypSamolotu _RodzajSamolotu, TimeSpan NajakiPrzedzialCzasuTworzyc)
 {
     NaJakiPrzedzialczasu = NajakiPrzedzialCzasuTworzyc;
     Polaczenie           = Kierunek;
     CZasBazowy           = PierwszyLot;
     CoIleLata            = _CoIleLata;
     RodzajSamolotu       = _RodzajSamolotu;
     PierwszyLot          = PierwszyLot.Subtract(CoIleLata);// te odjęcie czasu wiąże się z sposobem dodawania nowych lotów
 }
Example #2
0
 /// <summary>
 /// konstruktor kopiujący, jeżeli chcemy zrobić taki sam lot przesunięty w czasie o Jakiś przedział czasu
 /// </summary>
 public Lot(Lot IstniejącyLot, TimeSpan OjakiCZasPrzesuniety, String _IDLotu)
 {
     LNIDRezerwacjiBiletow = new List <string>();
     ListaRezerwacji       = new List <RezerwcjaBilet>();
     SetID(_IDLotu);
     Droga             = IstniejącyLot.GetDroga();
     DataGodzinaWylotu = IstniejącyLot.GetDataWylDT();
     DataGodzinaWylotu = DataGodzinaWylotu.Add(OjakiCZasPrzesuniety);
     Pojazd            = null;
     CzasLotu          = new TimeSpan(0, 0, 0);
 }
Example #3
0
        public Boolean CzyMaWracac;// zmienna określająca czy ma wrocić, koncepcja lotu polega na tym że leci do miejsca docelowego , a później wraca, tworzy to dwa połączenia , można w sumie wywalić i trzeba określać loty w dwie strony oddzielnie

        /*  ~Lot(){
         *    this.GetSamolot().ZmianaDostepu();// kiedu Lot jest usuwany samolot jest zwalniany
         * }
         */

        /// <summary>
        /// Podstawowy konstruktor do lotu
        /// </summary>
        public Lot(string ID, Trasa _Droga, int RokWylot, int MiesWyl, int DzienWyl, int GodzWyl, int MinWyl, Boolean _CZyMawracac)
        {
            LNIDRezerwacjiBiletow = new List <string>();
            ListaRezerwacji       = new List <RezerwcjaBilet>();
            SetID(ID);
            Droga             = _Droga;
            DataGodzinaWylotu = new DateTime(RokWylot, MiesWyl, DzienWyl, GodzWyl, MinWyl, 0); //ostatnia liczna to sekundy- nieistotna wartość w programie
            Pojazd            = null;                                                          // to też pomaga stwierdzić czy istnieje samolot który jest zapisany do trasy
            CzasLotu          = new TimeSpan(0, 0, 0);                                         //dzięki temu wiemy że na początku nie ma konkretnego samolotu który obsługuje ta trase
            CzyMaWracac       = _CZyMawracac;
        }
Example #4
0
 /// <summary>
 /// Metoda statyczna , Po to żeby sprawdzać czy wybrany samolot i trasa będą dobre- metode stayczną da się wywoływać jak nie istnieje obiekt
 /// </summary>
 /// <param name="TypPojazdu"></param>
 /// <param name="Droga"></param>
 public static Boolean CzyDoleci(TypSamolotu TypPojazdu, Trasa Droga)
 {
     if (TypPojazdu.GetZasieg() >= Droga.GetOdleglosc())
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Example #5
0
        static void Main(string[] args)
        {
            Firma TestFunkcji = new Firma();

            Osoba osoba1 = new Osoba("PAwd", "dasd", TestFunkcji.PrzydzielanieID <Klient>(TestFunkcji.ListaKlientow, TestFunkcji.LNIDKlientow));

            TestFunkcji.ListaKlientow.Add(osoba1);


            Osoba osoba2 = new Osoba("PAaswd", "daasdsd", TestFunkcji.PrzydzielanieID <Klient>(TestFunkcji.ListaKlientow, TestFunkcji.LNIDKlientow));

            TestFunkcji.ListaKlientow.Add(osoba2);

            Lotnisko lotnisko1 = new Lotnisko("Nowyjork");
            Lotnisko Lotnisko2 = new Lotnisko("Berlon");

            TestFunkcji.ListaLotnisk.Add(lotnisko1);
            TestFunkcji.ListaLotnisk.Add(Lotnisko2);
            Trasa trasa = new Trasa(lotnisko1, Lotnisko2, 230);

            // trasy - działa
            TestFunkcji.ListaTras.Add(trasa);
            Lot nowylot1 = new Lot(TestFunkcji.PrzydzielanieID <Lot>(TestFunkcji.ListaLotow, TestFunkcji.LNIDLotow), trasa, 2000, 9, 21, 8, 3, false);

            TestFunkcji.ListaLotow.Add(nowylot1);
            Lot nowylot2 = new Lot(TestFunkcji.PrzydzielanieID <Lot>(TestFunkcji.ListaLotow, TestFunkcji.LNIDLotow), trasa, 2030, 9, 21, 8, 3, false);

            TestFunkcji.ListaLotow.Add(nowylot2);
            // loty - działa

            TypSamolotu nowytyp = new TypSamolotu("Test", 23, 23, 23, 12);

            nowytyp.DodajSamolot(TestFunkcji.PrzydzielanieID <Samolot>(nowytyp.GetListaSamolotow(), nowytyp.GetLNIDSamolotow()));
            nowytyp.DodajSamolot(TestFunkcji.PrzydzielanieID <Samolot>(nowytyp.GetListaSamolotow(), nowytyp.GetLNIDSamolotow()));// tą jedna linijką tworzy sie nowy samolot, dodaje do listy, i ma indywidualne id



            TestFunkcji.ZapisDoPliku();
            TestFunkcji.OdczytZPliku();
            foreach (Trasa X in TestFunkcji.ListaTras)
            {
                Console.WriteLine(X.GetIDTrasy() + " ");
            }


            Console.ReadLine();
        }
Example #6
0
 /// <summary>
 /// zwraca obiekt samolotu, który obsługuje trase- może się przydać
 /// </summary>
 /// <returns></returns>
 public Samolot GetSamolot()
 {
     if (Pojazd != null)
     {
         foreach (Samolot Obiekt in Pojazd.GetListaSamolotow())
         {
             if (Obiekt.GetIDWlasne() == IDSamolotu)
             {
                 return(Obiekt);
             }
         }
     }
     // to miejsce gdzie pojazd nie jest równy null , ale nie ma jego obiektu na liście
     Pojazd = null;
     throw new Wyjatek("Nie ma Samolotu na liście typów !!"); // bardzo specyficzny wyjątek , ktoś usuną samolot, który obsługiwał tą trasę co powinno być nie możliwe-
                                                              // w catchu proponuje napisać krótką funkcję zmieniającą pole "Pojazd" na null!!!-Ważne
 }
Example #7
0
 /// <summary>
 ///  Z racji że typ samolotu ma dany zasięg, trzeba sprawdazć czy dany samolot nadaje się do lotu
 ///  dla konkretnej trasy, podawy jest od razu id samolotu, bardzo ważna funkcja, bez niej lot nie mam maszyny!!
 ///  funkcja od razu liczy nowy czas przelotu danej trasy
 /// </summary>
 /// <returns></returns>
 public Boolean SetPojazd(TypSamolotu TypPojazdu, string IDPojazdu)//  nie jest w konstruktorze ponieważ zwraca booleana
 {
     if (TypPojazdu.GetZasieg() >= Droga.GetOdleglosc() && TypPojazdu.GetSAmolotOID(IDPojazdu).GetCzyDostepny() == true)
     {
         Pojazd     = TypPojazdu;
         IDSamolotu = IDPojazdu;
         double czas = Droga.GetOdleglosc() / Pojazd.GetPredkosc(); // czas wychodzi w godz z minutamie po przecinku
         czas = Math.Round(czas, 2);
         double min = (czas % 1) * 60;                              // minuty w formiacie 0,xx więc trzeba pomnożyć razy 60
         CzasLotu = new TimeSpan((int)czas, (int)min, 0);           // zero na końcu- to sekundy nieistotne w programie
         this.GetSamolot().ZmianaDostepu();
         return(true);
     }
     else
     {
         return(false);
     }
 }