/// <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); } }
/// <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); } }
/// <summary> /// Funkcja wywala /// </summary> public void PrzyciskDodajLot(Trasa Droga, DateTime DataWylotu, Boolean CzyMawracac, TypSamolotu _WybranytypSamolotu, Samolot WybranaMaszyna) { if (Droga != null && DataWylotu != null && _WybranytypSamolotu != null && WybranaMaszyna != null) { if (_WybranytypSamolotu.GetZasieg() >= Droga.Odleglosc) { Lot tmp = new Lot(PrzydzielanieID(ListaLotow, LNIDLotow), Droga, DataWylotu, CzyMawracac, WybranaMaszyna, _WybranytypSamolotu); if (CzyMawracac == true) { Lot tmp2 = new Lot(PrzydzielanieID(ListaLotow, LNIDLotow), Droga, DataWylotu.Add(tmp.CzasLotu.Add(new TimeSpan(3, 0, 0))), CzyMawracac, WybranaMaszyna, _WybranytypSamolotu); DodawanieDoListy(ListaLotow, tmp2); } DodawanieDoListy(ListaLotow, tmp); } else { throw new Wyjatek("Samolot nie doleci do celu, zmień jego rodzaj!"); } } else { throw new Wyjatek("Wypełnij wszystkie pola!"); } }