public void OdeberVypujcku(Ctenar c, Kniha k) { foreach (Vypujcka v in Vypujcky) { if (c.Id == v.Drzitel.Id && k.Id == v.Knizka.Id && v.Vraceno == false) { int index = Vypujcky.IndexOf(v); // zkontroluj zda ctenar nevratil knihu pozde if (DateTime.Compare(DateTime.Parse(v.DatumVraceni), DateTime.Today) < 0) { MessageBox.Show("Kniha je vrácena pozdě!"); } // Oznac vypujcku za vyresenou Vypujcky[index].Vraceno = true; Vypujcky[index].DatumVraceni = DateTime.Today.ToShortDateString(); // Oznac knihu jako vracenou index = Knihy.IndexOf(k); Knihy[index].Vrat(); VypujckaOdebrana?.Invoke(this, index); break; // cyklus by již nic nenašel } } }
// Knihy public void Pridej(Kniha kniha) { // Dostupnost zadaneho ID foreach (Kniha k in Knihy) { if (k.Id == kniha.Id) { MessageBox.Show("ID obsazeno"); return; // zamez duplikátním ID } } foreach (Ctenar c in Ctenari) { if (c.Id == kniha.Id) { MessageBox.Show("ID obsazeno"); return; // zamez duplikátním ID } } // Pridani knihy Knihy.Add(kniha); KnihaPridana?.Invoke(this, kniha); }
public void Odeber(string id, byte klasifikace) { switch (klasifikace) { case klasifikace_ctenar: foreach (Ctenar c in Ctenari) { if (c.Id == id) { int index; // Zkontroluj zda čtenář nemá půjčenou knihu foreach (Vypujcka v in Vypujcky) { if (v.Drzitel.Id == c.Id && v.Vraceno == false) { MessageBox.Show("Uživatele nelze odebrat! Stále nevrátil všechny knihy!"); return; } } index = Ctenari.IndexOf(c); Ctenari.RemoveAt(index); CtenarOdebran?.Invoke(this, index); return; } } MessageBox.Show("Tento čtenář neexistuje"); break; case klasifikace_kniha: foreach (Kniha k in Knihy) { if (k.Id == id) { int index; // Zkontroluj zda knihu lze řádně zlikvidovat foreach (Vypujcka v in Vypujcky) { if (v.Knizka.Id == k.Id && v.Vraceno == false) { MessageBox.Show("Nemůžeme odepsat knihu, kterou nemáme u sebe!"); return; } } index = Knihy.IndexOf(k); Knihy.RemoveAt(index); KnihaOdebrana?.Invoke(this, index); return; } } MessageBox.Show("Tato kniha neexistuje"); break; } }