Exemplo n.º 1
0
        // Čtenář
        public void Pridej(Ctenar ctenar)
        {
            // Dostupnost zadaneho ID
            foreach (Ctenar c in Ctenari)
            {
                if (c.Id == ctenar.Id)
                {
                    MessageBox.Show("ID obsazeno");
                    return; // zamez duplikátním ID
                }
            }

            foreach (Kniha k in Knihy)
            {
                if (k.Id == ctenar.Id)
                {
                    MessageBox.Show("ID obsazeno");
                    return; // zamez duplikátním ID
                }
            }

            // Pridani ctenare
            Ctenari.Add(ctenar);

            CtenarPridan?.Invoke(this, ctenar);
        }
Exemplo n.º 2
0
        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;
            }
        }