Esempio n. 1
0
        private void button_Pridat_Click(object sender, EventArgs e)
        {
            if (Id_Predmet != -99)
            {
                DataTable predmet = DB_Data.getPredmet(Id_Predmet);
                if (Convert.ToString(predmet.Rows[0]["Skupina"]).Trim() == String.Empty)
                {
                    DB_Data.DeletePredmet(Id_Predmet);
                }

                DB_Data.updatePredmetByIXP(
                    this.ixp,
                    textBox_Zkratka.Text.ToString(),
                    Convert.ToInt32(textBox_Pocet_Tyden.Text),
                    Convert.ToInt32(textBox_Pocet_Hodin_Prednasek.Text),
                    Convert.ToInt32(textBox_Pocet_Hodin_Seminar.Text),
                    Convert.ToInt32(textBox_Pocet_Hodin_Cviceni.Text),
                    (comboBox_Zpusob_Zakonceni.SelectedItem as combobox_item).id,
                    (comboBox_Jazyk.SelectedItem as combobox_item).id,
                    Convert.ToInt32(textBox_Velikost_Trida.Text)
                    );

                List <int> pred_skupiny   = new List <int>();
                List <int> aktual_skupiny = new List <int>();

                foreach (var item in checkedListBox1.CheckedItems)
                {
                    aktual_skupiny.Add((item as combobox_item).id);
                }
                foreach (DataRow item in this.skupinyUPredmetu.Rows)
                {
                    pred_skupiny.Add(Convert.ToInt32(item.ItemArray[0]));
                }

                List <int> skupiny_smazat = pred_skupiny.Except(aktual_skupiny).ToList();
                List <int> skupiny_pridat = aktual_skupiny.Except(pred_skupiny).ToList();


                foreach (var item in skupiny_smazat)
                {
                    DB_Data.DeletePracovniStitek(this.Id_Predmet, item, Zpusob_Vytvoreni.Automaticky);
                    DB_Data.DeletePredmetAndSkupina(this.ixp, item);
                }


                foreach (var item in skupiny_pridat)
                {
                    int id = DB_Data.setPredmet(
                        textBox_Zkratka.Text.ToString(),
                        Convert.ToInt32(textBox_Pocet_Tyden.Text),
                        Convert.ToInt32(textBox_Pocet_Hodin_Prednasek.Text),
                        Convert.ToInt32(textBox_Pocet_Hodin_Seminar.Text),
                        Convert.ToInt32(textBox_Pocet_Hodin_Cviceni.Text),
                        (comboBox_Zpusob_Zakonceni.SelectedItem as combobox_item).id,
                        (comboBox_Jazyk.SelectedItem as combobox_item).id,
                        Convert.ToInt32(textBox_Velikost_Trida.Text),
                        item, this.ixp);

                    this._vygenerovaniStitku(id, item);
                }

                if (skupiny_smazat.Count() == pred_skupiny.Count() && skupiny_pridat.Count() == 0)
                {
                    DB_Data.setPredmet(
                        textBox_Zkratka.Text.ToString(),
                        Convert.ToInt32(textBox_Pocet_Tyden.Text),
                        Convert.ToInt32(textBox_Pocet_Hodin_Prednasek.Text),
                        Convert.ToInt32(textBox_Pocet_Hodin_Seminar.Text),
                        Convert.ToInt32(textBox_Pocet_Hodin_Cviceni.Text),
                        (comboBox_Zpusob_Zakonceni.SelectedItem as combobox_item).id,
                        (comboBox_Jazyk.SelectedItem as combobox_item).id,
                        Convert.ToInt32(textBox_Velikost_Trida.Text), -99
                        , this.ixp);
                }

                if (this.velikost_tridy.Trim() != textBox_Velikost_Trida.Text.Trim())
                {
                    foreach (combobox_item item in checkedListBox1.CheckedItems)
                    {
                        this.pregenerujStitky(item.id);
                    }

                    MessageBox.Show("Štítky přegenerovány");
                }
                ;

                this._parent.Form_Seznam_Predmet_Load(this, null);
                //this.UpravaPocetStudentuUStitku((comboBox_Seznam_Skupin.SelectedItem as combobox_item).id, this.id);
                MessageBox.Show("Hotovo!");
                this.Close();
                return;
            }


            try
            {
                var ixp = Guid.NewGuid().ToString();
                foreach (var item in checkedListBox1.CheckedItems)
                {
                    int IdPredmet = DB_Data.setPredmetGenerIXP(
                        textBox_Zkratka.Text.ToString(),
                        Convert.ToInt32(textBox_Pocet_Tyden.Text),
                        Convert.ToInt32(textBox_Pocet_Hodin_Prednasek.Text),
                        Convert.ToInt32(textBox_Pocet_Hodin_Seminar.Text),
                        Convert.ToInt32(textBox_Pocet_Hodin_Cviceni.Text),
                        (comboBox_Zpusob_Zakonceni.SelectedItem as combobox_item).id,
                        (comboBox_Jazyk.SelectedItem as combobox_item).id,
                        Convert.ToInt32(textBox_Velikost_Trida.Text),
                        (item as combobox_item).id, ixp);
                    Thread.Sleep(100);
                    this._vygenerovaniStitku(IdPredmet, (item as combobox_item).id);
                    Thread.Sleep(100);
                }
                MessageBox.Show("Předmět přidán");
                MessageBox.Show("Štítky automaticky vygenerovány");
            }
            catch (Exception ex)
            {
                MessageBox.Show("Chyba v přidávání předmětu " + ex.Message);
            }
            this.Close();
            this._parent.Form_Seznam_Predmet_Load(this, null);
        }