/// <summary> /// Funkcja dodająca do listy dwa obiekty Tras: Lotnisko1-Lotnisko2 oraz Lotnisko2-Lotnisko1 /// </summary> /// <param name="Lotnisko1"></param> /// <param name=""></param> public void DodajTrase(Lotnisko Lotnisko1, Lotnisko Lotnisko2, int odleglosc)// można przetestować { Trasa tmp1 = new Trasa(Lotnisko1, Lotnisko2, odleglosc); Trasa tmp2 = new Trasa(tmp1); ListaTras.Add(tmp1); ListaTras.Add(tmp2); }
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 }
/// <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().ZmianaDostepu(); // taki cheat żeby przez chwile samolt był dostępny ten cheat się komplikuje wiestety , lepiej nie ruszać this.SetPojazd(IstniejacyLOt.GetTypSamolotu(), IstniejacyLOt.GetSamolot().GetIDWlasne()); IstniejacyLOt.GetSamolot().ZmianaDostepu(); // taki cheat this.DataGodzinaWylotu = IstniejacyLOt.DataLądowaniaDateTime().Add(IloscCzasuDoStartuLiczonaOdMomentuLondowania); this.CzasLotu = IstniejacyLOt.GetCzasLotu(); this.Droga = new Trasa(IstniejacyLOt.GetDroga()); }
/// <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); }
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; }
/// <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); } }
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(); }
/// <summary> /// konstruktor kopiujący, który odwraca kierunek poróży /// </summary> /// <param name="Droga"></param> public Trasa(Trasa Droga) { this.Lotnisko1 = Droga.Lotnisko2; this.Lotnisko2 = Droga.Lotnisko1; Odleglosc = Droga.Odleglosc; }