/// <summary> /// Główny konstruktor podczas pracy z programem używać tylko jego, /// Możliwe formaty daty: "yyyy-MM-dd", "yyyy/MM/dd", "MM/dd/yy", "dd-MMM-yy", "dd/MM/yyyy", "dd-MM-yyyy" /// Format godziny: "H:mm" /// </summary> /// <param name="najemca"> Obiekt klasy najemca</param> /// <param name="dzień"> Dzień w którym chcemy dokonać rezerwacji</param> /// <param name="godzina_początkowa"> Godzina początkowa rezerwacji</param> /// <param name="godzina_końcowa">Godzina końcowa rezerwacji</param> public Rezerwacja(Najemca najemca, string dzień, string godzina_początkowa, string godzina_końcowa) { Numer = 0; Najem = najemca; DateTime newDay; DateTime.TryParseExact(dzień, new[] { "yyyy-MM-dd", "yyyy/MM/dd", "MM/dd/yy", "dd-MMM-yy", "dd/MM/yyyy", "dd-MM-yyyy" }, null, DateTimeStyles.None, out newDay); Dzień = newDay;// DateTime nowaGodzinaPocz; if (!DateTime.TryParseExact(godzina_początkowa, "H:mm", null, DateTimeStyles.None, out nowaGodzinaPocz)) { throw new KonstruktorException("Zły format godziny początkowej"); } Godz_pocz = nowaGodzinaPocz.TimeOfDay; DateTime nowaGodzinaKoń; if (!DateTime.TryParseExact(godzina_końcowa, "H:mm", null, DateTimeStyles.None, out nowaGodzinaKoń)) { throw new KonstruktorException("Zły format godziny końcowej"); } Godzina_końcowa = nowaGodzinaKoń.TimeOfDay; if (Godzina_końcowa <= Godz_pocz) { throw new KonstruktorException("godzina początkowa nie może być większa od końcowej"); } }
/********************************************************** Konstruktory **/ /// <summary> /// Pusty konstruktor na potrzeby serializacji, ustawia numer na -1 tak można rozpoznać obiekt /// </summary> public Rezerwacja() { numer = -1; najem = new Najemca(); dzień = default(DateTime); godz_pocz = default(TimeSpan); godzina_końcowa = default(TimeSpan); }
/// <summary> /// Deserializacja z pliku do obiektu zwracanego przez metodę /// </summary> /// <param name="nazwa">Nazwa pliku XML</param> /// <returns> Zwraca obiekt typu Najemca</returns> public static Najemca OdczytajXml(string nazwa) { XmlSerializer xs = new XmlSerializer(typeof(Najemca)); Stream s = File.OpenRead(nazwa + ".xml"); Najemca tmp = (Najemca)xs.Deserialize(s); s.Close(); return(tmp); }
/// <summary> /// Metoda pozwalająca na usunięcie najemcy /// </summary> /// <param name="n"></param> public void UsunNajemce(Najemca n) { ListaNajemcow.Remove(n); }
/// <summary> /// Metoda pozwalająca nadodanie nowego najemcy /// </summary> /// <param name="n">Obiekt Najemca</param> public void DodajNajemce(Najemca n) { ListaNajemcow.Add(n); }
static void Main(string[] args) { //Stworzyć dokumentację i język angielski Najemca n1 = new Najemca("Adrian", "Gzyl", "98080404212", Płcie.M); Console.WriteLine(n1); //using (var db = new ModelContext()) //{ // db.Najemcy.Add(n1); // db.SaveChanges(); //} //Console.WriteLine(n1); Najemca n2 = new Najemca("Jakub", "Górowski", "98052408891", Płcie.M); n1.ZapisSQL(); Najemca.WypiszQuery(); //Rezerwacja r1 = new Rezerwacja(n1,"2019-02-10","19:00","19:30"); //r1.Numer = 1; //using (var db = new ModelContext()) //{ // //db.Najemcy.Find(n1.Pesel); // Rezerwacja r1 = new Rezerwacja(db.Najemcy.Find(n1.Pesel), "2019-02-10", "19:00", "19:30"); // Console.WriteLine(r1); // Sala s1 = new Sala("1.2",Właściwość.aula,50); // Console.WriteLine(s1); // db.Rezerwacje.Add(r1); // s1.DodajRezerwację(db.Rezerwacje.Find(r1.Numer)); // db.Sale.Add(s1); // db.SaveChanges(); //} //r1.ZapisSQL(); ////Rezerwacja r2 = new Rezerwacja(n1, "2018-12-24", "17:35", "17:45"); //Rezerwacja r3 = new Rezerwacja(n2, "2019-02-24", "18:00", "18:15"); //Sala s1 = new Sala("1.2", Właściwość.aula, 50); //Sala s2 = new Sala("1.3",Właściwość.komputerowa,50); //s2.DodajRezerwację(r3); //r3.ZapisSQL(); //s2.ZapisSQL(); ////Rezerwacja r4 = new Rezerwacja(); //Sala s1 = new Sala("1.2",Właściwość.aula,50); ////Console.WriteLine(s1); //Sala s2 = new Sala("1.3",Właściwość.komputerowa,50); //s1.DodajRezerwację(r1); ////s1.DodajRezerwację(r2); ////s1.DodajRezerwację(r3); ////Console.WriteLine(s1); ////s1.UsuńRezerwację(r1, "98080404212");// (s1.ZnajdźRezerwację("2018-12-22", "14:00", "14:30"),"98080404212"); ////Console.WriteLine(s1); //n1.ZapiszXml("Test_Najemcy_Adrian"); ////Najemca n3 = (Najemca) n1.Clone(); ////Console.WriteLine(n3); ////Console.WriteLine(Najemca.OdczytajXml("Test_Najemcy_Adrian")); ////Rezerwacja r1 = new Rezerwacja(n1, "2018-12-28", "8:00", "9:00"); //r1.ZapiszXml("Test_Rezerwacja_1"); ////Console.WriteLine(Rezerwacja.OdczytajXml("Test_Rezerwacja_1")); ////Sala s1 = Sala.OdczytajXml("Test_Sala_1"); //s1.DodajRezerwację(r1); ////s1.DodajRezerwację(r2); //s1.ZapiszXml("Test_Sala_1"); ////Sala s3 = Sala.OdczytajXml("Test_Sala_1"); //Sala s3 = new Sala("102", Właściwość.aula, 150); //Sala s4 = new Sala("412", Właściwość.ćwiczeniowa, 30); //Budynek b1 = new Budynek("D-14",true,true,true); //b1.DodajSale(s1); //b1.DodajSale(s2); //Budynek b2 = new Budynek("D-13", true, true, false); //b2.DodajSale(s3); //b2.DodajSale(s4); //Zbior z1 = new Zbior(); //z1.DodajBudynek(b1); //z1.DodajNajemce(n1); //z1.DodajNajemce(n2); //z1.DodajBudynek(b2); //z1.ZapiszXml("Zbior1"); //Console.WriteLine(z1.WypiszSale(0)); Console.ReadKey(); }