/// <summary> /// Usuwa rezerwację jeżeli poda się prawidłowy pesel, pierwszym argumentem powinna być funkcja ZnajdźRezerwację /// z oodpowiednim parametrem wyszukiwania /// </summary> /// <param name="r">Obiekt typu rezerwacja</param> /// <param name="pesel">Pesel jest jednicześnie hasłem</param> public void UsuńRezerwację(Rezerwacja r, string pesel) { if (r.Najem.Pesel == pesel) { ListaRezerwacji.Remove(r); LiczbaRezerwacji--; } else { Console.WriteLine("Błędny PESEL!!!"); } }
/// <summary> /// Dodawanie rezerwacji, gdy jest zajęta wyskakuje komunikat ale pracujemy dalej, gdy doda się sale pomyślnie /// dostaje ona przydzielony numer, lista sortowana jest po każdym dodaniu /// </summary> /// <param name="r">Obiekt typu rezerwacja</param> public void DodajRezerwację(Rezerwacja r) { if (SprawdźRezerwację(r)) { ListaRezerwacji.Add(r); LiczbaRezerwacji++; r.Numer = ++Rezerwacja.Kolejność_rezerwacji; Sortuj(); } else { Console.WriteLine("Sala zajęta"); } }
/// <summary> /// Metoda dodawani sali z ręcznym ustawieniem numeru. Używana w czasie inicjalizacji GUI /// </summary> /// <param name="r">Obiekt typu rezerwacja</param> /// <param name="nr">Ręcznie podany nr rezerwacji</param> public void DodajRezerwację(Rezerwacja r, int nr) { if (SprawdźRezerwację(r)) { ListaRezerwacji.Add(r); LiczbaRezerwacji++; r.Numer = nr; //if(nr!=0) if (Rezerwacja.Kolejność_rezerwacji < nr) { Rezerwacja.Kolejność_rezerwacji = nr; } Sortuj(); } else { Console.WriteLine("Sala zajęta"); } }
/// <summary> /// Zwraca obiekt o podanej dacie i czasie, zwraca wyjątek gdy takiego nie ma lub format argumentów jest zły /// </summary> /// <param name="dzień">Dzień w którrym szukamy rezerwacji</param> /// <param name="godzina_początkowa">Godzina początkowa poszukiwanego zakresu</param> /// <param name="godzina_końcowa">Godzina kończąca zakres</param> /// <returns></returns> public List <Rezerwacja> ZnajdźRezerwację(DateTime dzień, string godzina_początkowa, string godzina_końcowa) { //DateTime newDay; //if(!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)) //{ // throw new Exception("Znajdź rezerwacje dostał zły format daty"); //} DateTime nowaGodzinaPoczątkowa; if (!DateTime.TryParseExact(godzina_początkowa, "H:mm", null, DateTimeStyles.None, out nowaGodzinaPoczątkowa)) { throw new Exception("Znajdź rezerwacje dostał zły format godzinypoczątkowej"); } DateTime nowaGodzinaKońcowa; if (!DateTime.TryParseExact(godzina_końcowa, "H:mm", null, DateTimeStyles.None, out nowaGodzinaKońcowa)) { throw new Exception("Znajdź rezerwacje dostał zły format godzinykońcowej"); } return(ListaRezerwacji.FindAll(x => x.Dzień == dzień && x.Godz_pocz >= nowaGodzinaPoczątkowa.TimeOfDay && x.Godzina_końcowa <= nowaGodzinaKońcowa.TimeOfDay)); }
/// <summary> /// Sortuje listę rezerwacji zgodnie z interfejsem IComparable w Rezerwacji /// </summary> public void Sortuj() { ListaRezerwacji.Sort(); }
/// <summary> /// Zwraca obiekt rezerwacja o podanym numerze, gdy takiego nie ma wyrzuca wyjątek /// </summary> /// <param name="numer">Unikalny dla każdej rezerwacji nr</param> /// <returns>Zwaca obiekt typu rezerwacja</returns> public Rezerwacja ZnajdźRezerwację(int numer) { return(ListaRezerwacji.Find(x => x.Numer == numer)); }