Beispiel #1
0
        /// <summary>
        /// Funkcja liczy ile samolot leci w jedną stronę
        /// </summary>
        /// <returns></returns>
        public static TimeSpan ILeleciWjednaStrone(TypSamolotu TypSamolotuKtorychcemydodac, Trasa TrasaCochcemydodac)
        {
            TimeSpan CzasLotu;
            double   czas = TrasaCochcemydodac.GetOdleglosc() / TypSamolotuKtorychcemydodac.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
            return(CzasLotu);
        }
Beispiel #2
0
        /// <summary>
        /// Specialny konstruktor Lotu, zakłada powrót tego samego samolotu więc tworzony lot ma wszystko takie same prócz: IDLotu , daty wylotu, kolejności Lotnisk w trasie, po tym wywołaniu stary lot powinien zostac usunięty
        /// </summary>
        //public Lot(Lot IstniejacyLOt,string _IDLotu,TimeSpan IloscCzasuDoStartuLiczonaOdMomentuLondowania)
        //{
        //    this.LNIDRezerwacjiBiletow = new List<string>();
        //    this.ListaRezerwacji = new List<RezerwcjaBilet>();

        //    IstniejacyLOt.GetSamolot().CzyDostepny=true;// taki cheat żeby przez chwile samolt był dostępny ten cheat się komplikuje wiestety , lepiej nie ruszać
        //    this.SetPojazd(IstniejacyLOt.Pojazd);
        //    this.SetIDSamolotuWLocie(IstniejacyLOt.GetSamolot().GetIDWlasne());
        //    IstniejacyLOt.GetSamolot().CzyDostepny=false;// taki cheat
        //    this.DataGodzinaWylotu = IstniejacyLOt.DataLądowaniaDateTime().Add(IloscCzasuDoStartuLiczonaOdMomentuLondowania);
        //    this.CzasLotu = IstniejacyLOt.GetCzasLotu();
        //    this.Droga = new Trasa(IstniejacyLOt.GetDroga());
        //    CzyMaWracac = false;
        //}


        /// <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)//  nie jest w konstruktorze ponieważ zwraca booleana
        {
            if (TypPojazdu.GetZasieg() >= Droga.GetOdleglosc())
            {
                Pojazd = TypPojazdu;
                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
                DataLadowania = this.DataLądowaniaDateTime();
                return(true);
            }
            else
            {
                return(false);
            }
        }