Пример #1
0
        private void изменитьСпециальностьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (SpecialtyDataGV.SelectedRows.Count > 0)
            {
                foreach (DataGridViewRow i in SpecialtyDataGV.SelectedRows)
                {
                    bool converted = Int32.TryParse(SpecialtyDataGV[0, i.Index].Value.ToString(), out int id);
                    if (converted == false)
                    {
                        return;
                    }

                    Specialty specialty = db.Specialties.Find(id);

                    //db.Specialties.Remove(specialty);
                    var add = new AddSpecialty();                              // создаем форму для изменения
                    add.DisciplinesLB.DataSource    = db.Disciplines.ToList(); /// делаем привязку к таблице с дисциплинами
                    add.DisciplinesLB.DisplayMember = "Name";                  /// выводим на экран значение атрибута Name
                    add.SpecialtyMB.Text            = specialty.Name;
                    if (add.ShowDialog(this) == DialogResult.OK)
                    {
                        try
                        {
                            specialty.Disciplines.Clear(); // перед перезаписью очищаем список дисциплин
                            foreach (Object selecteditem in add.DisciplinesLB.SelectedItems)
                            {
                                specialty.Disciplines.Add((Discipline)selecteditem);
                            }
                            specialty.Name = add.SpecialtyMB.Text;
                            db.SaveChanges();
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message);
                        }
                    }
                } // по каждой выделенной строке
                SpecialtyDataGV.DataSource = new BindingSource
                {
                    DataSource = db.Specialties.ToList().Select(b =>
                                                                new { b.Id, b.Name }
                                                                )
                };
                // если в таблице 0 специальностей
                if (db.Specialties.ToList().Count == 0)
                {
                    SpecialtyDataGV.DataSource = null;
                }
                else
                {
                    SpecialtyDataGV.DataSource = new BindingSource
                    {
                        DataSource = db.Specialties.ToList().Select(b =>
                                                                    new { b.Id, b.Name }
                                                                    )
                    };
                }
                MessageBox.Show("Информация успешно изменена");
            }
        }
Пример #2
0
        /*-----------------------------------------------------------------------*/
        /*             Методы связанные с таблицей СПЕЦИАЛЬНОСТИ                 */
        /*-----------------------------------------------------------------------*/
        private void добавитьСпециальностьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            var add = new AddSpecialty();

            add.DisciplinesLB.DataSource    = db.Disciplines.ToList();
            add.DisciplinesLB.DisplayMember = "Name";

            if (add.ShowDialog(this) == DialogResult.OK)
            {
                try
                {
                    Specialty specialty = new Specialty();
                    //specialty.Disciplines = new List<Discipline>();
                    List <Discipline> disciplines = new List <Discipline>();
                    foreach (Object selecteditem in add.DisciplinesLB.SelectedItems)
                    {
                        disciplines.Add((Discipline)selecteditem);
                    }
                    specialty.Disciplines = disciplines;
                    specialty.Name        = add.SpecialtyMB.Text;
                    db.Specialties.Add(specialty);
                    db.SaveChanges();
                    SpecialtyDataGV.DataSource = new BindingSource
                    {
                        DataSource = db.Specialties.ToList().Select(b =>
                                                                    new { b.Id, b.Name }
                                                                    )
                    };
                    // SpecialtyDataGV.Refresh();
                    MessageBox.Show("Специальность успешно добавлена!");
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message);
                }
            }
            else
            {
                add.Close();
            }
        }