private void buttonDuplicate_Click(object sender, EventArgs e)
        {
            try
            {
                if (dataGridViewPractice.SelectedRows.Count > 0)
                {
                    List <FormEdit.Practice>    practices = new List <FormEdit.Practice>();
                    workload_of_teachersDataSet workload_Of_TeachersDataSetDuplicate = new workload_of_teachersDataSet();
                    foreach (DataGridViewBand RowCollection in dataGridViewPractice.SelectedRows)
                    {
                        FormEdit.Practice practice = new FormEdit.Practice();
                        this.practiceTableAdapter.FillByIdPractice(workload_Of_TeachersDataSetDuplicate.Practice, (int)dataGridViewPractice["idPracticePractice", RowCollection.Index].Value);
                        if (workload_Of_TeachersDataSetDuplicate.Practice.Count > 0)
                        {
                            practice.Specialnost    = workload_Of_TeachersDataSetDuplicate.Practice[0].IdSpecialnost;
                            practice.VidCurriculum  = workload_Of_TeachersDataSetDuplicate.Practice[0].IdVidCurriculum;
                            practice.Course         = workload_Of_TeachersDataSetDuplicate.Practice[0].IdCourse;
                            practice.VidPractice    = workload_Of_TeachersDataSetDuplicate.Practice[0].IdVidPractice;
                            practice.Nazvanie       = workload_Of_TeachersDataSetDuplicate.Practice[0].Nazvanie;
                            practice.NazvaniePolnoe = workload_Of_TeachersDataSetDuplicate.Practice[0].NazvaniePolnoe;
                            practice.AllWeek        = workload_Of_TeachersDataSetDuplicate.Practice[0].AllWeek;
                            practice.AllHour        = workload_Of_TeachersDataSetDuplicate.Practice[0].AllHour;
                            practice.LabHour        = workload_Of_TeachersDataSetDuplicate.Practice[0].LabHour;
                            this.practice_SemesterTableAdapter.FillByIdPractice(workload_Of_TeachersDataSetDuplicate.Practice_Semester, (int)dataGridViewPractice["idPracticePractice", RowCollection.Index].Value);

                            foreach (workload_of_teachersDataSet.Practice_SemesterRow practice_semester in workload_Of_TeachersDataSetDuplicate.Practice_Semester)
                            {
                                FormEdit.PracticeSemester practicesemester = new FormEdit.PracticeSemester();
                                practicesemester.Semester       = practice_semester.Semester;
                                practicesemester.AllHour        = practice_semester.AllHour;
                                practicesemester.WeekHour       = practice_semester.WeekHour;
                                practicesemester.LabHour        = practice_semester.LabHour;
                                practicesemester.ManagementHour = practice_semester.ManagementHour;
                                practice.practicesemesters.Add(practicesemester);
                            }
                        }
                        practices.Add(practice);
                    }
                    FormEdit.FormPracticeDuplicate formpracticeduplicate = new FormEdit.FormPracticeDuplicate(practices);
                    if (formpracticeduplicate.ShowDialog() == DialogResult.OK)
                    {
                        formmain.DataUpdate("Practice");
                    }
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("Сообщение об ошибке: " + error.Message + "\nПроверьте наличие соединения с базой данных. Если ошибка продолжает появляться обратитесь к системному администратору или к разработчику данной программы.", "Ошибка при чтении данных", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void buttonDelPractice_Click(object sender, EventArgs e)
        {
            try
            {
                bool dataread = false;
                foreach (DataGridViewBand RowCollection in dataGridViewPractice.SelectedRows)
                {
                    int    idpractice       = (int)dataGridViewPractice["idPracticePractice", RowCollection.Index].Value;
                    string practicenazvanie = (string)dataGridViewPractice["nazvaniePractice", RowCollection.Index].Value;

                    workload_of_teachersDataSet workload_Of_TeachersDataSetTemp = new workload_of_teachersDataSet();
                    workload_of_teachersDataSetTableAdapters.Load_PrepodTableAdapter load_prepodtableadapter = new workload_of_teachersDataSetTableAdapters.Load_PrepodTableAdapter();
                    load_prepodtableadapter.FillByCascading(workload_Of_TeachersDataSetTemp.Load_Prepod, -1, -1, idpractice);
                    if (workload_Of_TeachersDataSetTemp.Load_Prepod.Count > 0)
                    {
                        FormDialog form = new FormDialog("Каскадное удаление практики", String.Format("Удаление практики {0} приведёт к удалению {1} педагогических(ой) нагрузок(и) преподавателей(я) принадлежащих этой практике.",
                                                                                                      practicenazvanie, workload_Of_TeachersDataSetTemp.Load_Prepod.Count), 5);
                        if (form.ShowDialog() == DialogResult.OK)
                        {
                            foreach (workload_of_teachersDataSet.Load_PrepodRow load_prepod in workload_Of_TeachersDataSetTemp.Load_Prepod)
                            {
                                load_prepodtableadapter.DeleteQuery(load_prepod.IdLoad_Prepod);
                            }
                            this.practice_SemesterTableAdapter.DeleteQueryPractice(idpractice);
                            this.practiceTableAdapter.DeleteQuery(idpractice);
                            dataread = true;
                        }
                        else
                        {
                            break;
                        }
                    }
                    else
                    {
                        this.practice_SemesterTableAdapter.DeleteQueryPractice(idpractice);
                        this.practiceTableAdapter.DeleteQuery(idpractice);
                        dataread = true;
                    }
                }
                if (dataread == true)
                {
                    formmain.DataUpdate("Practice");                  //Есть изменения
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("Сообщение об ошибке: " + error.Message + "\nПроверьте наличие соединения с базой данных. Если ошибка продолжает появляться обратитесь к системному администратору или к разработчику данной программы.", "Ошибка при чтении данных", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Example #3
0
        private void buttonEneter_Click(object sender, EventArgs e)
        {
            try
            {
                bool dataread = false;
                foreach (workload_of_teachersDataSet.SpecialnostRow specialnost in workload_of_teachersDataSet.Specialnost)
                {
                    if (DataRowState.Added == specialnost.RowState)
                    {
                        specialnostTableAdapter.Insert(specialnost.Nazvanie, specialnost.NazvaniePolnoe, specialnost.Code);
                        dataread = true;
                    }
                    if (DataRowState.Modified == specialnost.RowState)
                    {
                        specialnostTableAdapter.Update(specialnost.Nazvanie, specialnost.NazvaniePolnoe, specialnost.Code,
                                                       (int)specialnost["IdSpecialnost", DataRowVersion.Original], (string)specialnost["Nazvanie", DataRowVersion.Original], (string)specialnost["NazvaniePolnoe", DataRowVersion.Original], (string)specialnost["Code", DataRowVersion.Original]);
                        dataread = true;
                    }
                    if (DataRowState.Deleted == specialnost.RowState)
                    {
                        //=================== [ Каскадное удаление ] =================
                        int    idspecialnost       = (int)specialnost["IdSpecialnost", DataRowVersion.Original];
                        string specialnostnazvanie = (string)specialnost["Nazvanie", DataRowVersion.Original];
                        //Predmet
                        workload_of_teachersDataSetTableAdapters.PredmetTableAdapter          predmettableadapter          = new workload_of_teachersDataSetTableAdapters.PredmetTableAdapter();
                        workload_of_teachersDataSetTableAdapters.Predmet_CourseTableAdapter   predmet_coursetableadapter   = new workload_of_teachersDataSetTableAdapters.Predmet_CourseTableAdapter();
                        workload_of_teachersDataSetTableAdapters.Predmet_SemesterTableAdapter predmet_semestertableadapter = new workload_of_teachersDataSetTableAdapters.Predmet_SemesterTableAdapter();
                        predmettableadapter.FillByCascading(workload_of_teachersDataSet.Predmet, idspecialnost, -1);

                        foreach (workload_of_teachersDataSet.PredmetRow predmet in workload_of_teachersDataSet.Predmet)
                        {
                            workload_of_teachersDataSet workload_Of_TeachersDataSetTemp = new workload_of_teachersDataSet();
                            predmet_coursetableadapter.FillByIDPredmet(workload_Of_TeachersDataSetTemp.Predmet_Course, predmet.IdPredmet);
                            workload_of_teachersDataSet.Predmet_Course.Merge(workload_Of_TeachersDataSetTemp.Predmet_Course);
                        }
                        //Practice
                        workload_of_teachersDataSetTableAdapters.PracticeTableAdapter          practicetableadapter          = new workload_of_teachersDataSetTableAdapters.PracticeTableAdapter();
                        workload_of_teachersDataSetTableAdapters.Practice_SemesterTableAdapter practice_semestertableadapter = new workload_of_teachersDataSetTableAdapters.Practice_SemesterTableAdapter();
                        practicetableadapter.FillByCascading(workload_of_teachersDataSet.Practice, idspecialnost, -1, -1, -1);

                        //Gryppa
                        workload_of_teachersDataSetTableAdapters.GryppaTableAdapter gryppatableadapter = new workload_of_teachersDataSetTableAdapters.GryppaTableAdapter();
                        gryppatableadapter.FillByCascading(workload_of_teachersDataSet.Gryppa, idspecialnost, -1, -1, -1);

                        if (workload_of_teachersDataSet.Predmet.Count > 0 || workload_of_teachersDataSet.Practice.Count > 0 || workload_of_teachersDataSet.Gryppa.Count > 0)
                        {
                            workload_of_teachersDataSetTableAdapters.Load_PrepodTableAdapter load_prepodtableadapter = new workload_of_teachersDataSetTableAdapters.Load_PrepodTableAdapter();
                            foreach (workload_of_teachersDataSet.Predmet_CourseRow predmet_course in workload_of_teachersDataSet.Predmet_Course)
                            {
                                workload_of_teachersDataSet workload_Of_TeachersDataSetTemp = new workload_of_teachersDataSet();
                                load_prepodtableadapter.FillByCascading(workload_Of_TeachersDataSetTemp.Load_Prepod, -1, predmet_course.IdPredmet_Course, -1);
                                workload_of_teachersDataSet.Load_Prepod.Merge(workload_Of_TeachersDataSetTemp.Load_Prepod);
                            }
                            foreach (workload_of_teachersDataSet.PracticeRow practice in workload_of_teachersDataSet.Practice)
                            {
                                workload_of_teachersDataSet workload_Of_TeachersDataSetTemp = new workload_of_teachersDataSet();
                                load_prepodtableadapter.FillByCascading(workload_Of_TeachersDataSetTemp.Load_Prepod, -1, -1, practice.IdPractice);
                                workload_of_teachersDataSet.Load_Prepod.Merge(workload_Of_TeachersDataSetTemp.Load_Prepod);
                            }
                            foreach (workload_of_teachersDataSet.GryppaRow gryppa in workload_of_teachersDataSet.Gryppa)
                            {
                                workload_of_teachersDataSet workload_Of_TeachersDataSetTemp = new workload_of_teachersDataSet();
                                load_prepodtableadapter.FillByCascading(workload_Of_TeachersDataSetTemp.Load_Prepod, gryppa.IdGryppa, -1, -1);
                                workload_of_teachersDataSet.Load_Prepod.Merge(workload_Of_TeachersDataSetTemp.Load_Prepod);
                            }
                            FormDialog form = new FormDialog("Каскадное удаление специальности", String.Format("Удаление специальности {0} приведёт к удалению {1} предметов(а), {2} практик(и) и {3} групп(ы) принадлежащей этой специальности. Также будут удалены {4} педагогических(ая) нагрузок(а) преподавателей(я).",
                                                                                                               specialnostnazvanie, workload_of_teachersDataSet.Predmet.Count, workload_of_teachersDataSet.Practice.Count, workload_of_teachersDataSet.Gryppa.Count, workload_of_teachersDataSet.Load_Prepod.Count), 5);
                            if (form.ShowDialog() == DialogResult.OK)
                            {
                                //Load_Prepod Delete
                                foreach (workload_of_teachersDataSet.Load_PrepodRow load_prepod in workload_of_teachersDataSet.Load_Prepod)
                                {
                                    load_prepodtableadapter.DeleteQuery(load_prepod.IdLoad_Prepod);
                                }
                                //Predmet Delete
                                foreach (workload_of_teachersDataSet.PredmetRow predmet in workload_of_teachersDataSet.Predmet)
                                {
                                    predmet_semestertableadapter.DeleteQueryPredmet(predmet.IdPredmet);
                                    predmet_coursetableadapter.DeleteQueryPredmet(predmet.IdPredmet);
                                    predmettableadapter.DeleteQuery(predmet.IdPredmet);
                                }
                                //Practice Delete
                                foreach (workload_of_teachersDataSet.PracticeRow practice in workload_of_teachersDataSet.Practice)
                                {
                                    practice_semestertableadapter.DeleteQueryPractice(practice.IdPractice);
                                    practicetableadapter.DeleteQuery(practice.IdPractice);
                                }
                                //Gryppa Delete
                                foreach (workload_of_teachersDataSet.GryppaRow gryppa in workload_of_teachersDataSet.Gryppa)
                                {
                                    gryppatableadapter.DeleteQuery(gryppa.IdGryppa);
                                }
                                specialnostTableAdapter.Delete((int)specialnost["IdSpecialnost", DataRowVersion.Original], (string)specialnost["Nazvanie", DataRowVersion.Original], (string)specialnost["NazvaniePolnoe", DataRowVersion.Original], (string)specialnost["Code", DataRowVersion.Original]);
                                dataread = true;
                            }
                        }
                        else
                        {
                            specialnostTableAdapter.Delete((int)specialnost["IdSpecialnost", DataRowVersion.Original], (string)specialnost["Nazvanie", DataRowVersion.Original], (string)specialnost["NazvaniePolnoe", DataRowVersion.Original], (string)specialnost["Code", DataRowVersion.Original]);
                            dataread = true;
                        }
                    }
                }
                if (dataread == true)
                {
                    this.DialogResult = DialogResult.OK;                  //Есть изменения
                }
                else
                {
                    this.DialogResult = DialogResult.Ignore; //Нету изменений
                }
                this.Close();
                //specialnostTableAdapter.Update(this.workload_of_teachersDataSet.Specialnost);
            }
            catch (Exception error)
            {
                MessageBox.Show("Сообщение об ошибке: " + error.Message + "\nПроверьте корректность вводимых данных, а также наличие соединения с базой данных. Если ошибка продолжает появляться обратитесь к системному администратору или к разработчику данной программы.", "Ошибка при сохранении данных", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
Example #4
0
        public void ReadreportViewer()
        {
            this.Predmet_Full_ReportTableAdapter.FillBy(this.workload_of_teachersDataSet.Predmet_Full_Report, IDcomboBox1);

            workload_of_teachersDataSet.Predmet_Full_Report.Clear();
            workload_of_teachersDataSet workload_Of_TeachersDataSetTemp = new workload_of_teachersDataSet();

            this.Predmet_Full_ReportTableAdapter.FillBy(workload_Of_TeachersDataSetTemp.Predmet_Full_Report, IDcomboBox1);

            foreach (workload_of_teachersDataSet.Predmet_Full_ReportRow predmet_full in workload_Of_TeachersDataSetTemp.Predmet_Full_Report)
            {
                if (predmet_full.PodGryppa[0] == '1' && predmet_full.PodGryppa[2] == '3')
                {
                    predmet_full.AllHourGryppa = 0;
                    predmet_full.AllHourGryppa = predmet_full.ConsultationHour;
                    predmet_SemesterTableAdapter.FillBy(workload_Of_TeachersDataSetTemp.Predmet_Semester, predmet_full.IdPredmet_Course);
                    int hoursemester = 0;
                    foreach (workload_of_teachersDataSet.Predmet_SemesterRow predmet_semester in workload_Of_TeachersDataSetTemp.Predmet_Semester)
                    {
                        hoursemester += predmet_semester.TheoryHour;
                        hoursemester += predmet_semester.LabHour;
                        hoursemester += predmet_semester.CourseworkHour;
                        hoursemester += predmet_semester.ExamHour;
                    }
                    predmet_full.AllHourGryppa += hoursemester;
                    workload_of_teachersDataSet.Predmet_Full_Report.ImportRow(predmet_full);
                }
                else if (predmet_full.PodGryppa[0] == '1' && predmet_full.PodGryppa[2] == '1')
                {
                    predmet_full.AllHourGryppa = 0;
                    predmet_full.AllHourGryppa = predmet_full.ConsultationHour;
                    predmet_SemesterTableAdapter.FillBy(workload_Of_TeachersDataSetTemp.Predmet_Semester, predmet_full.IdPredmet_Course);
                    int hoursemester = 0;
                    foreach (workload_of_teachersDataSet.Predmet_SemesterRow predmet_semester in workload_Of_TeachersDataSetTemp.Predmet_Semester)
                    {
                        hoursemester += predmet_semester.TheoryHour;
                        hoursemester += predmet_semester.LabHour;
                        hoursemester += predmet_semester.ExamHour;
                    }
                    predmet_full.AllHourGryppa += hoursemester;
                    workload_of_teachersDataSet.Predmet_Full_Report.ImportRow(predmet_full);
                }
                else if (predmet_full.PodGryppa[0] == '1' && predmet_full.PodGryppa[2] == '2')
                {
                    predmet_full.AllHourGryppa = 0;
                    predmet_full.AllHourGryppa = predmet_full.ConsultationHour;
                    predmet_SemesterTableAdapter.FillBy(workload_Of_TeachersDataSetTemp.Predmet_Semester, predmet_full.IdPredmet_Course);
                    int hoursemester = 0;
                    foreach (workload_of_teachersDataSet.Predmet_SemesterRow predmet_semester in workload_Of_TeachersDataSetTemp.Predmet_Semester)
                    {
                        hoursemester += predmet_semester.CourseworkHour;
                        hoursemester += predmet_semester.TheoryHour;
                        hoursemester += predmet_semester.ExamHour;
                    }
                    predmet_full.AllHourGryppa += hoursemester;
                    workload_of_teachersDataSet.Predmet_Full_Report.ImportRow(predmet_full);
                }
                predmet_full.RejectChanges();
                for (int i = 3; i < 11; i++)
                {
                    if (predmet_full.PodGryppa[i] == '1' || predmet_full.PodGryppa[i] == '2' || predmet_full.PodGryppa[i] == '3')
                    {
                        predmet_full.NazvanieGryppa += "/" + (i - 1).ToString();
                        predmet_full.AllHourSemester = 0;
                        predmet_full.TheoryHour      = 0;
                        predmet_full.HolidaysHour    = 0;
                        predmet_full.ExamHour        = 0;

                        if (predmet_full.PodGryppa[i] == '2')
                        {
                            predmet_full.LabHour         = 0;
                            predmet_full.LabHourSemester = 0;
                        }
                        if (predmet_full.PodGryppa[i] == '1')
                        {
                            predmet_full.CourseworkHour         = 0;
                            predmet_full.CourseworkHourSemester = 0;
                        }

                        predmet_SemesterTableAdapter.FillBy(workload_Of_TeachersDataSetTemp.Predmet_Semester, predmet_full.IdPredmet_Course);
                        int hoursemester = 0;
                        foreach (workload_of_teachersDataSet.Predmet_SemesterRow predmet_semester in workload_Of_TeachersDataSetTemp.Predmet_Semester)
                        {
                            if (predmet_full.PodGryppa[i] != '2')
                            {
                                hoursemester += predmet_semester.LabHour;
                            }
                            if (predmet_full.PodGryppa[i] != '1')
                            {
                                hoursemester += predmet_semester.CourseworkHour;
                            }
                        }
                        predmet_full.AllHourGryppa = hoursemester;
                        workload_of_teachersDataSet.Predmet_Full_Report.ImportRow(predmet_full);
                    }
                    predmet_full.RejectChanges();
                }
            }

            workload_of_teachersDataSet.Practice_Full_Report.Clear();
            this.practice_Full_ReportTableAdapter.FillBy(workload_Of_TeachersDataSetTemp.Practice_Full_Report, IDcomboBox1);

            foreach (workload_of_teachersDataSet.Practice_Full_ReportRow practice_full in workload_Of_TeachersDataSetTemp.Practice_Full_Report)
            {
                for (int i = 2; i < 11; i++)
                {
                    if (practice_full.PodGryppa[i] == '1')
                    {
                        practice_full.NazvanieGryppa += "/" + (i - 1).ToString();
                        practice_SemesterTableAdapter.FillBy(workload_Of_TeachersDataSetTemp.Practice_Semester, practice_full.IdPractice);
                        int hoursemester = 0;
                        foreach (workload_of_teachersDataSet.Practice_SemesterRow practice_semester in workload_Of_TeachersDataSetTemp.Practice_Semester)
                        {
                            hoursemester += practice_semester.AllHour;
                        }
                        practice_full.AllHourGryppa = hoursemester;
                        workload_of_teachersDataSet.Practice_Full_Report.ImportRow(practice_full);
                    }
                    practice_full.RejectChanges();
                }
            }
            this.BeginInvoke((MethodInvoker)(() =>
            {
                this.reportViewer1.LocalReport.DataSources.Clear();
                ReportParameter shiftcode = new ReportParameter("ReportParameterFIO", comboBox1.Text);
                this.reportViewer1.LocalReport.SetParameters(shiftcode);

                ReportDataSource rds = new ReportDataSource("DataSet1", Predmet_Full_ReportBindingSource);
                this.reportViewer1.LocalReport.DataSources.Add(rds);
                rds = new ReportDataSource("DataSet5", practiceFullReportBindingSource);
                this.reportViewer1.LocalReport.DataSources.Add(rds);
                this.reportViewer1.LocalReport.Refresh();
            }
                                             ));
            this.reportViewer1.BeginInvoke((MethodInvoker)(() => reportViewer1.RefreshReport()));
        }
Example #5
0
        public void SearchUpdate(string tabControl = "")
        {
            try
            {
                switch (tabControl)
                {
                case "Gryppa_Predmet_Course_Prepod":
                    Gryppa_Predmet_Course_Prepod = true;
                    break;

                case "Gryppa_Predmet_Course_PrepodCK":
                    Gryppa_Predmet_Course_PrepodCK = true;
                    break;

                case "Gryppa_Practice_Prepod":
                    Gryppa_Practice_Prepod = true;
                    break;

                case "Gryppa_Practice_PrepodCK":
                    Gryppa_Practice_PrepodCK = true;
                    break;

                case "ALL":
                    Gryppa_Predmet_Course_Prepod   = true;
                    Gryppa_Predmet_Course_PrepodCK = true;
                    Gryppa_Practice_Prepod         = true;
                    Gryppa_Practice_PrepodCK       = true;
                    break;
                }
                if (tabControlPrepod.SelectedIndex == 0)
                {
                    if (tabControlPredmet.SelectedIndex == 0 && Gryppa_Predmet_Course_Prepod)//Predmet_Course
                    {
                        comboBoxPredmet.Text = comboBoxPredmetTemp;

                        workload_of_teachersDataSetPrepod.Predmet_Full.Clear();
                        workload_of_teachersDataSet workload_Of_TeachersDataSetTemp = new workload_of_teachersDataSet();
                        this.predmet_FullTableAdapter.FillBySearch(workload_Of_TeachersDataSetTemp.Predmet_Full,
                                                                   comboBoxPredmet.Text, "",
                                                                   (checkBoxSpecialnost.Checked) ? (comboBoxSpecialnost.SelectedValue != null) ? (int)comboBoxSpecialnost.SelectedValue : -1 : -1,
                                                                   (checkBoxVidCurriculum.Checked) ? (comboBoxVidCurriculum.SelectedValue != null) ? (int)comboBoxVidCurriculum.SelectedValue : -1 : -1,
                                                                   (checkBoxCourse.Checked) ? (comboBoxCourse.SelectedValue != null) ? (int)comboBoxCourse.SelectedValue : -1 : -1,
                                                                   (checkBoxGryppa.Checked) ? (comboBoxGryppa.SelectedValue != null) ? (int)comboBoxGryppa.SelectedValue : -1 : -1,
                                                                   -1, ID, "%"
                                                                   );

                        foreach (workload_of_teachersDataSet.Predmet_FullRow predmet_full in workload_Of_TeachersDataSetTemp.Predmet_Full)
                        {
                            if (predmet_full.PodGryppa[0] == '1' && predmet_full.PodGryppa[2] == '3')
                            {
                                predmet_full.AllHourGryppa = 0;
                                predmet_full.AllHourGryppa = predmet_full.ConsultationHour;
                                predmet_SemesterTableAdapter.FillBy(workload_Of_TeachersDataSetTemp.Predmet_Semester, predmet_full.IdPredmet_Course);
                                int hoursemester = 0;
                                foreach (workload_of_teachersDataSet.Predmet_SemesterRow predmet_semester in workload_Of_TeachersDataSetTemp.Predmet_Semester)
                                {
                                    hoursemester += predmet_semester.TheoryHour;
                                    hoursemester += predmet_semester.LabHour;
                                    hoursemester += predmet_semester.CourseworkHour;
                                    hoursemester += predmet_semester.ExamHour;
                                }
                                predmet_full.AllHourGryppa += hoursemester;
                                workload_of_teachersDataSetPrepod.Predmet_Full.ImportRow(predmet_full);
                            }
                            else if (predmet_full.PodGryppa[0] == '1' && predmet_full.PodGryppa[2] == '1')
                            {
                                predmet_full.CourseworkHour = 0;
                                predmet_full.AllHourGryppa  = 0;
                                predmet_full.AllHourGryppa  = predmet_full.ConsultationHour;
                                predmet_SemesterTableAdapter.FillBy(workload_Of_TeachersDataSetTemp.Predmet_Semester, predmet_full.IdPredmet_Course);
                                int hoursemester = 0;
                                foreach (workload_of_teachersDataSet.Predmet_SemesterRow predmet_semester in workload_Of_TeachersDataSetTemp.Predmet_Semester)
                                {
                                    hoursemester += predmet_semester.TheoryHour;
                                    hoursemester += predmet_semester.LabHour;
                                    hoursemester += predmet_semester.ExamHour;
                                }
                                predmet_full.AllHourGryppa += hoursemester;
                                workload_of_teachersDataSetPrepod.Predmet_Full.ImportRow(predmet_full);
                            }
                            else if (predmet_full.PodGryppa[0] == '1' && predmet_full.PodGryppa[2] == '2')
                            {
                                predmet_full.LabHour       = 0;
                                predmet_full.AllHourGryppa = 0;
                                predmet_full.AllHourGryppa = predmet_full.ConsultationHour;
                                predmet_SemesterTableAdapter.FillBy(workload_Of_TeachersDataSetTemp.Predmet_Semester, predmet_full.IdPredmet_Course);
                                int hoursemester = 0;
                                foreach (workload_of_teachersDataSet.Predmet_SemesterRow predmet_semester in workload_Of_TeachersDataSetTemp.Predmet_Semester)
                                {
                                    hoursemester += predmet_semester.CourseworkHour;
                                    hoursemester += predmet_semester.TheoryHour;
                                    hoursemester += predmet_semester.ExamHour;
                                }
                                predmet_full.AllHourGryppa += hoursemester;
                                workload_of_teachersDataSetPrepod.Predmet_Full.ImportRow(predmet_full);
                            }
                            predmet_full.RejectChanges();
                            for (int i = 3; i < 11; i++)
                            {
                                if (predmet_full.PodGryppa[i] == '1' || predmet_full.PodGryppa[i] == '2' || predmet_full.PodGryppa[i] == '3')
                                {
                                    predmet_full.NazvanieGryppa  += "/" + (i - 1).ToString();
                                    predmet_full.AllHourPredmet   = 0;
                                    predmet_full.AllHour          = 0;
                                    predmet_full.ConsultationHour = 0;
                                    predmet_full.ExamCount        = 0;
                                    predmet_full.OKR = 0;

                                    if (predmet_full.PodGryppa[i] == '2')
                                    {
                                        predmet_full.LabHour = 0;
                                    }
                                    if (predmet_full.PodGryppa[i] == '1')
                                    {
                                        predmet_full.CourseworkHour = 0;
                                    }

                                    predmet_SemesterTableAdapter.FillBy(workload_Of_TeachersDataSetTemp.Predmet_Semester, predmet_full.IdPredmet_Course);
                                    int hoursemester = 0;
                                    foreach (workload_of_teachersDataSet.Predmet_SemesterRow predmet_semester in workload_Of_TeachersDataSetTemp.Predmet_Semester)
                                    {
                                        if (predmet_full.PodGryppa[i] != '2')
                                        {
                                            hoursemester += predmet_semester.LabHour;
                                        }
                                        if (predmet_full.PodGryppa[i] != '1')
                                        {
                                            hoursemester += predmet_semester.CourseworkHour;
                                        }
                                    }
                                    predmet_full.AllHourGryppa = hoursemester;
                                    workload_of_teachersDataSetPrepod.Predmet_Full.ImportRow(predmet_full);
                                }
                                predmet_full.RejectChanges();
                            }
                        }

                        Gryppa_Predmet_Course_Prepod = false;
                    }
                    else if (tabControlPredmet.SelectedIndex == 1 && Gryppa_Predmet_Course_PrepodCK)//Predmet_Course
                    {
                        comboBoxPredmet.Text       = comboBoxPredmetTemp;
                        comboBoxPredmetPrepod.Text = comboBoxPredmetPrepodTemp;

                        workload_of_teachersDataSetCK.Predmet_Full.Clear();
                        workload_of_teachersDataSet workload_Of_TeachersDataSetTemp = new workload_of_teachersDataSet();
                        this.predmet_FullTableAdapter.FillBySearch(workload_Of_TeachersDataSetTemp.Predmet_Full,
                                                                   comboBoxPredmet.Text, comboBoxPredmetPrepod.Text,
                                                                   (checkBoxSpecialnost.Checked) ? (comboBoxSpecialnost.SelectedValue != null) ? (int)comboBoxSpecialnost.SelectedValue : -1 : -1,
                                                                   (checkBoxVidCurriculum.Checked) ? (comboBoxVidCurriculum.SelectedValue != null) ? (int)comboBoxVidCurriculum.SelectedValue : -1 : -1,
                                                                   (checkBoxCourse.Checked) ? (comboBoxCourse.SelectedValue != null) ? (int)comboBoxCourse.SelectedValue : -1 : -1,
                                                                   (checkBoxGryppa.Checked) ? (comboBoxGryppa.SelectedValue != null) ? (int)comboBoxGryppa.SelectedValue : -1 : -1,
                                                                   IDCK, -1, "%"
                                                                   );

                        foreach (workload_of_teachersDataSet.Predmet_FullRow predmet_full in workload_Of_TeachersDataSetTemp.Predmet_Full)
                        {
                            if (predmet_full.PodGryppa[0] == '1' && predmet_full.PodGryppa[2] == '3')
                            {
                                predmet_full.AllHourGryppa = 0;
                                predmet_full.AllHourGryppa = predmet_full.ConsultationHour;
                                predmet_SemesterTableAdapter.FillBy(workload_Of_TeachersDataSetTemp.Predmet_Semester, predmet_full.IdPredmet_Course);
                                int hoursemester = 0;
                                foreach (workload_of_teachersDataSet.Predmet_SemesterRow predmet_semester in workload_Of_TeachersDataSetTemp.Predmet_Semester)
                                {
                                    hoursemester += predmet_semester.TheoryHour;
                                    hoursemester += predmet_semester.LabHour;
                                    hoursemester += predmet_semester.CourseworkHour;
                                    hoursemester += predmet_semester.ExamHour;
                                }
                                predmet_full.AllHourGryppa += hoursemester;
                                workload_of_teachersDataSetCK.Predmet_Full.ImportRow(predmet_full);
                            }
                            else if (predmet_full.PodGryppa[0] == '1' && predmet_full.PodGryppa[2] == '1')
                            {
                                predmet_full.CourseworkHour = 0;
                                predmet_full.AllHourGryppa  = 0;
                                predmet_full.AllHourGryppa  = predmet_full.ConsultationHour;
                                predmet_SemesterTableAdapter.FillBy(workload_Of_TeachersDataSetTemp.Predmet_Semester, predmet_full.IdPredmet_Course);
                                int hoursemester = 0;
                                foreach (workload_of_teachersDataSet.Predmet_SemesterRow predmet_semester in workload_Of_TeachersDataSetTemp.Predmet_Semester)
                                {
                                    hoursemester += predmet_semester.TheoryHour;
                                    hoursemester += predmet_semester.LabHour;
                                    hoursemester += predmet_semester.ExamHour;
                                }
                                predmet_full.AllHourGryppa += hoursemester;
                                workload_of_teachersDataSetCK.Predmet_Full.ImportRow(predmet_full);
                            }
                            else if (predmet_full.PodGryppa[0] == '1' && predmet_full.PodGryppa[2] == '2')
                            {
                                predmet_full.LabHour       = 0;
                                predmet_full.AllHourGryppa = 0;
                                predmet_full.AllHourGryppa = predmet_full.ConsultationHour;
                                predmet_SemesterTableAdapter.FillBy(workload_Of_TeachersDataSetTemp.Predmet_Semester, predmet_full.IdPredmet_Course);
                                int hoursemester = 0;
                                foreach (workload_of_teachersDataSet.Predmet_SemesterRow predmet_semester in workload_Of_TeachersDataSetTemp.Predmet_Semester)
                                {
                                    hoursemester += predmet_semester.CourseworkHour;
                                    hoursemester += predmet_semester.TheoryHour;
                                    hoursemester += predmet_semester.ExamHour;
                                }
                                predmet_full.AllHourGryppa += hoursemester;
                                workload_of_teachersDataSetCK.Predmet_Full.ImportRow(predmet_full);
                            }
                            predmet_full.RejectChanges();
                            for (int i = 3; i < 11; i++)
                            {
                                if (predmet_full.PodGryppa[i] == '1' || predmet_full.PodGryppa[i] == '2' || predmet_full.PodGryppa[i] == '3')
                                {
                                    predmet_full.NazvanieGryppa  += "/" + (i - 1).ToString();
                                    predmet_full.AllHourPredmet   = 0;
                                    predmet_full.AllHour          = 0;
                                    predmet_full.ConsultationHour = 0;
                                    predmet_full.ExamCount        = 0;
                                    predmet_full.OKR = 0;

                                    if (predmet_full.PodGryppa[i] == '2')
                                    {
                                        predmet_full.LabHour = 0;
                                    }
                                    if (predmet_full.PodGryppa[i] == '1')
                                    {
                                        predmet_full.CourseworkHour = 0;
                                    }

                                    predmet_SemesterTableAdapter.FillBy(workload_Of_TeachersDataSetTemp.Predmet_Semester, predmet_full.IdPredmet_Course);
                                    int hoursemester = 0;
                                    foreach (workload_of_teachersDataSet.Predmet_SemesterRow predmet_semester in workload_Of_TeachersDataSetTemp.Predmet_Semester)
                                    {
                                        if (predmet_full.PodGryppa[i] != '2')
                                        {
                                            hoursemester += predmet_semester.LabHour;
                                        }
                                        if (predmet_full.PodGryppa[i] != '1')
                                        {
                                            hoursemester += predmet_semester.CourseworkHour;
                                        }
                                    }
                                    predmet_full.AllHourGryppa = hoursemester;
                                    workload_of_teachersDataSetCK.Predmet_Full.ImportRow(predmet_full);
                                }
                                predmet_full.RejectChanges();
                            }
                        }

                        Gryppa_Predmet_Course_PrepodCK = false;
                    }
                }

                if (tabControlPrepod.SelectedIndex == 1)
                {
                    if (tabControlPractice.SelectedIndex == 0 && Gryppa_Practice_Prepod)//Predmet_Course
                    {
                        comboBoxPractice.Text = comboBoxPracticeTemp;

                        workload_of_teachersDataSetPrepod.Practice_Full.Clear();
                        workload_of_teachersDataSet workload_Of_TeachersDataSetTemp = new workload_of_teachersDataSet();
                        this.practice_FullTableAdapter.FillBySearch(workload_Of_TeachersDataSetTemp.Practice_Full,
                                                                    comboBoxPractice.Text, "",
                                                                    (checkBoxSpecialnost.Checked) ? (comboBoxSpecialnost.SelectedValue != null) ? (int)comboBoxSpecialnost.SelectedValue : -1 : -1,
                                                                    (checkBoxVidCurriculum.Checked) ? (comboBoxVidCurriculum.SelectedValue != null) ? (int)comboBoxVidCurriculum.SelectedValue : -1 : -1,
                                                                    (checkBoxCourse.Checked) ? (comboBoxCourse.SelectedValue != null) ? (int)comboBoxCourse.SelectedValue : -1 : -1,
                                                                    (checkBoxGryppa.Checked) ? (comboBoxGryppa.SelectedValue != null) ? (int)comboBoxGryppa.SelectedValue : -1 : -1,
                                                                    -1, ID, "%"
                                                                    );

                        foreach (workload_of_teachersDataSet.Practice_FullRow practice_full in workload_Of_TeachersDataSetTemp.Practice_Full)
                        {
                            for (int i = 2; i < 11; i++)
                            {
                                if (practice_full.PodGryppa[i] == '1')
                                {
                                    practice_full.NazvanieGryppa += "/" + (i - 1).ToString();
                                    practice_SemesterTableAdapter.FillBy(workload_Of_TeachersDataSetTemp.Practice_Semester, practice_full.IdPractice);
                                    int hoursemester = 0;
                                    foreach (workload_of_teachersDataSet.Practice_SemesterRow practice_semester in workload_Of_TeachersDataSetTemp.Practice_Semester)
                                    {
                                        hoursemester += practice_semester.AllHour;
                                    }
                                    practice_full.AllHourGryppa = hoursemester;
                                    workload_of_teachersDataSetPrepod.Practice_Full.ImportRow(practice_full);
                                }
                                practice_full.RejectChanges();
                            }
                        }
                        Gryppa_Practice_Prepod = false;
                    }
                    else if (tabControlPractice.SelectedIndex == 1 && Gryppa_Practice_PrepodCK)//Predmet_Course
                    {
                        comboBoxPractice.Text       = comboBoxPracticeTemp;
                        comboBoxPracticePrepod.Text = comboBoxPracticePrepodTemp;

                        workload_of_teachersDataSetCK.Practice_Full.Clear();
                        workload_of_teachersDataSet workload_Of_TeachersDataSetTemp = new workload_of_teachersDataSet();
                        this.practice_FullTableAdapter.FillBySearch(workload_Of_TeachersDataSetTemp.Practice_Full,
                                                                    comboBoxPractice.Text, comboBoxPracticePrepod.Text,
                                                                    (checkBoxSpecialnost.Checked) ? (comboBoxSpecialnost.SelectedValue != null) ? (int)comboBoxSpecialnost.SelectedValue : -1 : -1,
                                                                    (checkBoxVidCurriculum.Checked) ? (comboBoxVidCurriculum.SelectedValue != null) ? (int)comboBoxVidCurriculum.SelectedValue : -1 : -1,
                                                                    (checkBoxCourse.Checked) ? (comboBoxCourse.SelectedValue != null) ? (int)comboBoxCourse.SelectedValue : -1 : -1,
                                                                    (checkBoxGryppa.Checked) ? (comboBoxGryppa.SelectedValue != null) ? (int)comboBoxGryppa.SelectedValue : -1 : -1,
                                                                    IDCK, -1, "%"
                                                                    );
                        foreach (workload_of_teachersDataSet.Practice_FullRow practice_full in workload_Of_TeachersDataSetTemp.Practice_Full)
                        {
                            for (int i = 2; i < 11; i++)
                            {
                                if (practice_full.PodGryppa[i] == '1')
                                {
                                    practice_full.NazvanieGryppa += "/" + (i - 1).ToString();
                                    practice_SemesterTableAdapter.FillBy(workload_Of_TeachersDataSetTemp.Practice_Semester, practice_full.IdPractice);
                                    int hoursemester = 0;
                                    foreach (workload_of_teachersDataSet.Practice_SemesterRow practice_semester in workload_Of_TeachersDataSetTemp.Practice_Semester)
                                    {
                                        hoursemester += practice_semester.AllHour;
                                    }
                                    practice_full.AllHourGryppa = hoursemester;
                                    workload_of_teachersDataSetCK.Practice_Full.ImportRow(practice_full);
                                }
                                practice_full.RejectChanges();
                            }
                        }
                        Gryppa_Practice_PrepodCK = false;
                    }
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("Сообщение об ошибке: " + error.Message + "\nПроверьте наличие соединения с базой данных. Если ошибка продолжает появляться обратитесь к системному администратору или к разработчику данной программы.", "Ошибка при чтении данных", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void FormEditPrepodPredmet_Load(object sender, EventArgs e)
        {
            try
            {
                // TODO: данная строка кода позволяет загрузить данные в таблицу "workload_of_teachersDataSet.Prepod". При необходимости она может быть перемещена или удалена.
                this.prepodTableAdapter.Fill(this.workload_of_teachersDataSet.Prepod);
                // TODO: данная строка кода позволяет загрузить данные в таблицу "workload_of_teachersDataSet.Specialnost". При необходимости она может быть перемещена или удалена.
                this.specialnostTableAdapter.Fill(this.workload_of_teachersDataSet.Specialnost);
                // TODO: данная строка кода позволяет загрузить данные в таблицу "workload_of_teachersDataSet.VidCurriculum". При необходимости она может быть перемещена или удалена.
                this.vidCurriculumTableAdapter.Fill(this.workload_of_teachersDataSet.VidCurriculum);

                // TODO: данная строка кода позволяет загрузить данные в таблицу "workload_of_teachersDataSet.Predmet". При необходимости она может быть перемещена или удалена.
                //this.predmetTableAdapter.Fill(this.workload_of_teachersDataSet.Predmet);
                // TODO: данная строка кода позволяет загрузить данные в таблицу "workload_of_teachersDataSet.Gryppa". При необходимости она может быть перемещена или удалена.
                //this.gryppaTableAdapter.Fill(this.workload_of_teachersDataSet.Gryppa);

                comboBoxVidLoad_Prepod.SelectedIndex = VidLoad_Prepod;
                comboBoxPrepod.SelectedValue         = 0;

                comboBoxSpecialnostPredmet.SelectedValue    = Specialnost;
                comboBoxVidCurriculumPredmet.SelectedValue  = VidCurriculum;
                comboBoxSpecialnostPractice.SelectedValue   = Specialnost;
                comboBoxVidCurriculumPractice.SelectedValue = VidCurriculum;

                if (ID == -1)
                {
                    Text = "Добавление нагрузки преподавателя";
                    if (VidLoad_Prepod == 0)
                    {
                        comboBoxPredmet.SelectedValue       = PredmetOrPractice;
                        comboBoxGryppaPredmet.SelectedValue = Gryppa;
                    }
                    else if (VidLoad_Prepod == 1)
                    {
                        comboBoxPractice.SelectedValue       = PredmetOrPractice;
                        comboBoxGryppaPractice.SelectedValue = Gryppa;
                    }
                }
                else
                {
                    Text = "Редактирование нагрузки преподавателя";
                    comboBoxVidLoad_Prepod.Enabled = false;
                    workload_of_teachersDataSet workload_of_teachersDataSetR = new workload_of_teachersDataSet();
                    this.load_PrepodTableAdapter.FillByIdLoad_Prepod(workload_of_teachersDataSetR.Load_Prepod, ID);
                    if (workload_of_teachersDataSetR.Load_Prepod.Count > 0)
                    {
                        if (!workload_of_teachersDataSetR.Load_Prepod[0].IsIdPredmet_CurseNull())
                        {
                            comboBoxVidLoad_Prepod.SelectedIndex = 0;
                            this.predmet_CourseTableAdapter.FillByIdPredmet_Course(workload_of_teachersDataSetR.Predmet_Course, workload_of_teachersDataSetR.Load_Prepod[0].IdPredmet_Curse);
                            if (workload_of_teachersDataSetR.Predmet_Course.Count > 0)
                            {
                                this.predmetTableAdapter.FillByIdPredmet(workload_of_teachersDataSetR.Predmet, workload_of_teachersDataSetR.Predmet_Course[0].IdPredmet);
                                if (workload_of_teachersDataSetR.Predmet.Count > 0)
                                {
                                    comboBoxSpecialnostPredmet.SelectedValue   = workload_of_teachersDataSetR.Predmet[0].IdSpecialnost;
                                    comboBoxVidCurriculumPredmet.SelectedValue = workload_of_teachersDataSetR.Predmet[0].IdVidCurriculum;
                                    comboBoxPredmet.SelectedValue = workload_of_teachersDataSetR.Predmet[0].IdPredmet;
                                }
                            }
                            comboBoxGryppaPredmet.SelectedValue = workload_of_teachersDataSetR.Load_Prepod[0].IdGryppa;
                            comboBoxPrepod.SelectedValue        = workload_of_teachersDataSetR.Load_Prepod[0].IdPrepod;

                            string podgryppa = workload_of_teachersDataSetR.Load_Prepod[0].PodGryppa;
                            if (podgryppa.Length == 11)
                            {
                                if (podgryppa[0] == '1')
                                {
                                    checkedListBoxPredmetPodgryppaP.SetItemChecked(0, true);
                                }
                                if (podgryppa[1] == '1')
                                {
                                    checkedListBoxPredmetPodgryppaCW.SetItemChecked(0, true);
                                }
                                for (int i = 1; i <= checkedListBoxPredmetPodgryppaP.Items.Count - 1; i++)
                                {
                                    if (podgryppa[i + 1] == '2' || podgryppa[i + 1] == '3')
                                    {
                                        checkedListBoxPredmetPodgryppaCW.SetItemChecked(i, true);
                                    }
                                    if (podgryppa[i + 1] == '1' || podgryppa[i + 1] == '3')
                                    {
                                        checkedListBoxPredmetPodgryppaP.SetItemChecked(i, true);
                                    }
                                }
                            }
                        }
                        else if (!workload_of_teachersDataSetR.Load_Prepod[0].IsIdPracticeNull())
                        {
                            comboBoxVidLoad_Prepod.SelectedIndex = 1;
                            this.practiceTableAdapter.FillByIdPractice(workload_of_teachersDataSetR.Practice, workload_of_teachersDataSetR.Load_Prepod[0].IdPractice);
                            if (workload_of_teachersDataSetR.Practice.Count > 0)
                            {
                                comboBoxSpecialnostPractice.SelectedValue   = workload_of_teachersDataSetR.Practice[0].IdSpecialnost;
                                comboBoxVidCurriculumPractice.SelectedValue = workload_of_teachersDataSetR.Practice[0].IdVidCurriculum;
                            }
                            comboBoxPractice.SelectedValue       = workload_of_teachersDataSetR.Load_Prepod[0].IdPractice;
                            comboBoxGryppaPractice.SelectedValue = workload_of_teachersDataSetR.Load_Prepod[0].IdGryppa;
                            comboBoxPrepod.SelectedValue         = workload_of_teachersDataSetR.Load_Prepod[0].IdPrepod;

                            string podgryppa = workload_of_teachersDataSetR.Load_Prepod[0].PodGryppa;
                            if (podgryppa.Length == 11)
                            {
                                if (podgryppa[0] == '1')
                                {
                                    checkedListBox1.SetItemChecked(0, true);
                                }
                                for (int i = 1; i <= checkedListBox1.Items.Count - 1; i++)
                                {
                                    if (podgryppa[i + 1] == '1')
                                    {
                                        checkedListBox1.SetItemChecked(i, true);
                                    }
                                }
                            }
                        }
                        else
                        {
                            MessageBox.Show("Данная нагрузка преподавателя повреждена.", "Ошибка при чтении нагрузки преподавателя", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
            }
            catch (Exception error)
            {
                MessageBox.Show("Сообщение об ошибке: " + error.Message + "\nПроверьте наличие соединения с базой данных. Если ошибка продолжает появляться обратитесь к системному администратору или к разработчику данной программы.", "Ошибка при чтении данных", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void buttonEneter_Click(object sender, EventArgs e)
        {
            try
            {
                bool dataread = false;
                foreach (workload_of_teachersDataSet.VidPracticeRow vidpractice in workload_of_teachersDataSet.VidPractice)
                {
                    if (DataRowState.Added == vidpractice.RowState)
                    {
                        vidPracticeTableAdapter.Insert(vidpractice.Nazvanie, vidpractice.NazvaniePolnoe, vidpractice.Type);
                        dataread = true;
                    }
                    if (DataRowState.Modified == vidpractice.RowState)
                    {
                        vidPracticeTableAdapter.Update(vidpractice.Nazvanie, vidpractice.NazvaniePolnoe, vidpractice.Type,
                                                       (int)vidpractice["IdVidPractice", DataRowVersion.Original], (string)vidpractice["Nazvanie", DataRowVersion.Original], (string)vidpractice["NazvaniePolnoe", DataRowVersion.Original], (bool)vidpractice["Type", DataRowVersion.Original]);
                        dataread = true;
                    }
                    if (DataRowState.Deleted == vidpractice.RowState)
                    {
                        //=================== [ Каскадное удаление ] =================
                        int    idvidpractice       = (int)vidpractice["IdVidPractice", DataRowVersion.Original];
                        string vidpracticenazvanie = (string)vidpractice["Nazvanie", DataRowVersion.Original];

                        //Practice
                        workload_of_teachersDataSetTableAdapters.PracticeTableAdapter          practicetableadapter          = new workload_of_teachersDataSetTableAdapters.PracticeTableAdapter();
                        workload_of_teachersDataSetTableAdapters.Practice_SemesterTableAdapter practice_semestertableadapter = new workload_of_teachersDataSetTableAdapters.Practice_SemesterTableAdapter();
                        practicetableadapter.FillByCascading(workload_of_teachersDataSet.Practice, -1, -1, -1, idvidpractice);

                        if (workload_of_teachersDataSet.Practice.Count > 0)
                        {
                            workload_of_teachersDataSetTableAdapters.Load_PrepodTableAdapter load_prepodtableadapter = new workload_of_teachersDataSetTableAdapters.Load_PrepodTableAdapter();
                            foreach (workload_of_teachersDataSet.PracticeRow practice in workload_of_teachersDataSet.Practice)
                            {
                                workload_of_teachersDataSet workload_Of_TeachersDataSetTemp = new workload_of_teachersDataSet();
                                load_prepodtableadapter.FillByCascading(workload_Of_TeachersDataSetTemp.Load_Prepod, -1, -1, practice.IdPractice);
                                workload_of_teachersDataSet.Load_Prepod.Merge(workload_Of_TeachersDataSetTemp.Load_Prepod);
                            }
                            FormDialog form = new FormDialog("Каскадное удаление вида практики", String.Format("Удаление вида практики {0} приведёт к удалению {1} практик(и) принадлежащей этому виду практик. Также будут удалены {2} педагогических(ая) нагрузок(а) преподавателей(я).",
                                                                                                               vidpracticenazvanie, workload_of_teachersDataSet.Practice.Count, workload_of_teachersDataSet.Load_Prepod.Count), 5);
                            if (form.ShowDialog() == DialogResult.OK)
                            {
                                //Load_Prepod Delete
                                foreach (workload_of_teachersDataSet.Load_PrepodRow load_prepod in workload_of_teachersDataSet.Load_Prepod)
                                {
                                    load_prepodtableadapter.DeleteQuery(load_prepod.IdLoad_Prepod);
                                }
                                //Practice Delete
                                foreach (workload_of_teachersDataSet.PracticeRow practice in workload_of_teachersDataSet.Practice)
                                {
                                    practice_semestertableadapter.DeleteQueryPractice(practice.IdPractice);
                                    practicetableadapter.DeleteQuery(practice.IdPractice);
                                }
                                vidPracticeTableAdapter.Delete((int)vidpractice["IdVidPractice", DataRowVersion.Original], (string)vidpractice["Nazvanie", DataRowVersion.Original], (string)vidpractice["NazvaniePolnoe", DataRowVersion.Original], (bool)vidpractice["Type", DataRowVersion.Original]);
                                dataread = true;
                            }
                        }
                        else
                        {
                            vidPracticeTableAdapter.Delete((int)vidpractice["IdVidPractice", DataRowVersion.Original], (string)vidpractice["Nazvanie", DataRowVersion.Original], (string)vidpractice["NazvaniePolnoe", DataRowVersion.Original], (bool)vidpractice["Type", DataRowVersion.Original]);
                            dataread = true;
                        }
                    }
                }
                if (dataread == true)
                {
                    this.DialogResult = DialogResult.OK;                  //Есть изменения
                }
                else
                {
                    this.DialogResult = DialogResult.Ignore; //Нету изменений
                }
                this.Close();
                //vidPracticeTableAdapter.Update(this.workload_of_teachersDataSet.VidPractice);
            }
            catch (Exception error)
            {
                MessageBox.Show("Сообщение об ошибке: " + error.Message + "\nПроверьте корректность вводимых данных, а также наличие соединения с базой данных. Если ошибка продолжает появляться обратитесь к системному администратору или к разработчику данной программы.", "Ошибка при сохранении данных", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }