private void FormManager_Shown(object sender, EventArgs e)
        {
            foreach (var clss in Class.Classes.Values)
            {
                if (clss.School.Id == School_id)
                {
                    TableClasses.Rows.Add(clss.Id, clss.Name, clss.StudentCount);
                }
            }
            TableClasses.ClearSelection();

            foreach (var sbjct in Subject.Subjects.Values)
            {
                TableSubjects.Rows.Add(sbjct.Id, sbjct.Name);
            }
            TableSubjects.ClearSelection();

            foreach (var tchr in Teacher.Teachers.Values)
            {
                if (tchr.School.Id == School_id)
                {
                    TableTeachers.Rows.Add(tchr.Id, tchr.Name, tchr.Login, tchr.GetPassword(tchr.Id.ToString()));
                }
            }
            TableTeachers.ClearSelection();
        }
 private void ButtonDeleteSubjectTeacher_Click(object sender, EventArgs e)
 {
     if (TableClasses.SelectedRows.Count != 0)
     {
         if (TableSubjects.SelectedRows.Count != 0)
         {
             if (TableTeachers.SelectedRows.Count != 0)
             {
                 if (MessageBox.Show("Вы уверены, что хотите удалить выбранного учителя из предмета в выбранном классе?", "Удаление выбраного учителя из предмета выбранного класса", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No)
                 {
                 }
                 else
                 {
                     DBControl.Delete(Class_Subject_Teacher.GetObj(Class_Subject.GetObj(Class.Classes[(Guid)TableClasses.SelectedCells[0].Value], Subject.Subjects[(Guid)TableSubjects.SelectedCells[0].Value]), Teacher.Teachers[(Guid)TableTeachers.SelectedCells[0].Value]));
                     TableTeachers.Rows.Remove(TableTeachers.SelectedRows[0]);
                     TableTeachers.ClearSelection();
                 }
             }
             else
             {
                 MessageBox.Show("Для удаления учителя из предмета, выбирете его из таблицы", "Не выбран учитель для удаления из предмета", MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
         else
         {
             MessageBox.Show("Для удаления учителя у предмета, выбирете предмет из таблицы", "Не выбран предмет для удаления учителя у предмета", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     else
     {
         MessageBox.Show("Для удаелния учителя у предмета, выбирете класс из таблицы", "Не выбран класс для удаления учителя у предмета", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
 private void ButtonAddSubjectTeacher_Click(object sender, EventArgs e)
 {
     if (TableClasses.SelectedRows.Count != 0)
     {
         if (TableSubjects.SelectedRows.Count != 0)
         {
             FormList formlist = new FormList(Class_Subject.GetObj(Class.Classes[(Guid)TableClasses.SelectedCells[0].Value], Subject.Subjects[(Guid)TableSubjects.SelectedCells[0].Value]));
             if (formlist.ShowDialog() == DialogResult.OK)
             {
                 if (formlist.Table.SelectedRows.Count == 0)
                 {
                     MessageBox.Show("Для добавления предмета, выбирете его", "Вы не выбрали предмет", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 }
                 else
                 {
                     foreach (DataGridViewRow row in formlist.Table.SelectedRows)
                     {
                         DBControl.Add(Class_Subject.GetObj(Class.Classes[(Guid)TableClasses.SelectedCells[0].Value], Subject.Subjects[(Guid)TableSubjects.SelectedCells[0].Value]), Teacher.Teachers[(Guid)row.Cells[0].Value]);
                         TableTeachers.Rows.Add(row.Cells[0].Value, row.Cells[1].Value, Teacher.Teachers[(Guid)row.Cells[0].Value].Login, Teacher.Teachers[(Guid)row.Cells[0].Value].GetPassword(row.Cells[0].Value.ToString()));
                     }
                     TableTeachers.ClearSelection();
                 }
             }
             formlist.Close();
         }
         else
         {
             MessageBox.Show("Для добавления учителя предмету, выбирете предмет из таблицы", "Не выбран предмет для добавления учителя предмету", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
     }
     else
     {
         MessageBox.Show("Для добавления учителя предмету, выбирете класс из таблицы", "Не выбран класс для добавления учителя предмету", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
        private void ButtonAddTeacher_Click(object sender, EventArgs e)
        {
            Teacher NewTeacher = new Teacher(null, null, null);

            DBControl.Add(School.Schools[School_id], NewTeacher);
            if (NewTeacher.Name != null)
            {
                TableTeachers.Rows.Add(NewTeacher.Id, NewTeacher.Name, NewTeacher.Login, NewTeacher.GetPassword(NewTeacher.Id.ToString()));
                TableTeachers.ClearSelection();
            }
        }
 private void TableSubjects_SelectionChanged(object sender, EventArgs e)
 {
     TableTeachers.Rows.Clear();
     if (TableSubjects.SelectedRows.Count != 0 && TableClasses.SelectedRows.Count != 0)
     {
         foreach (var tchr in Class_Subject.GetObj(Class.Classes[(Guid)TableClasses.SelectedCells[0].Value], Subject.Subjects[(Guid)TableSubjects.SelectedCells[0].Value]).Teachers)
         {
             TableTeachers.Rows.Add(tchr.Id, tchr.Name, tchr.Login, tchr.GetPassword(tchr.Id.ToString()));
         }
         TableTeachers.ClearSelection();
     }
 }
 private void ButtonEditTeacher_Click(object sender, EventArgs e)
 {
     if (TableTeachers.SelectedRows.Count != 0)
     {
         DBControl.Edit(Teacher.Teachers[(Guid)TableTeachers.SelectedCells[0].Value]);
         TableTeachers.SelectedCells[1].Value = Teacher.Teachers[(Guid)TableTeachers.SelectedCells[0].Value].Name;
         TableTeachers.ClearSelection();
     }
     else
     {
         MessageBox.Show("Для изменения учителя, выбирете его из таблицы", "Не выбран учитель для изменения", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
 private void ButtonDeleteTeacher_Click(object sender, EventArgs e)
 {
     if (TableTeachers.SelectedRows.Count != 0)
     {
         if (MessageBox.Show("Вы уверены, что хотите удалить выбранного учителя?", "Удаление выбраного учителя", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.No)
         {
         }
         else
         {
             DBControl.Delete(Teacher.Teachers[(Guid)TableTeachers.SelectedCells[0].Value]);
             TableTeachers.Rows.Remove(TableTeachers.SelectedRows[0]);
             TableTeachers.ClearSelection();
         }
     }
     else
     {
         MessageBox.Show("Для удаления учителя, выбирете его из таблицы", "Не выбран учитель для удаления", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
        private void FormManager_MouseClick(object sender, MouseEventArgs e)
        {
            TableClasses.ClearSelection();

            TableSubjects.Rows.Clear();
            foreach (var sbjct in Subject.Subjects.Values)
            {
                TableSubjects.Rows.Add(sbjct.Id, sbjct.Name);
            }
            TableSubjects.ClearSelection();

            TableTeachers.Rows.Clear();
            foreach (var tchr in Teacher.Teachers.Values)
            {
                if (tchr.School.Id == School_id)
                {
                    TableTeachers.Rows.Add(tchr.Id, tchr.Name, tchr.Login, tchr.GetPassword(tchr.Id.ToString()));
                }
            }
            TableTeachers.ClearSelection();
        }