Beispiel #1
0
        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
                }
            }
        }
Beispiel #2
0
        // 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);
        }
Beispiel #3
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;
            }
        }