private void buttonSplit_Click(object sender, EventArgs e)
        {
            CourseInWork ciw = (CourseInWork)bindingSourceFormalAndFact.Current;
            FormSelectWorkloadHourType fswht = new FormSelectWorkloadHourType(ciw);

            fswht.ShowDialog();
            if (fswht.DialogResult == System.Windows.Forms.DialogResult.OK && fswht.SelectedWorkloadHourType != WorkloadHourType.None)
            {
                CourseInWork newCiw1 = ciw.Split((WorkloadType)ciw.Fact, (WorkloadType)ciw.Fact,
                                                 ciw.Employee, ciw.Employee,
                                                 fswht.SelectedWorkloadHourType,
                                                 WorkloadMoveType.Переносится);
                if (((fswht.SelectedWorkloadHourType & WorkloadHourType.Лабораторные) != 0) &&
                    fswht.NewLabHours > 0)
                {
                    ciw.LabHours     = fswht.OldLabHours - fswht.NewLabHours;
                    newCiw1.LabHours = fswht.NewLabHours;
                }
                if (((fswht.SelectedWorkloadHourType & WorkloadHourType.Прочее) != 0) &&
                    fswht.NewProchHours > 0)
                {
                    ciw.ProchHours     = fswht.OldProchHours - fswht.NewProchHours;
                    newCiw1.ProchHours = fswht.NewProchHours;
                }
                myDatabase.CourseInWork.InsertOnSubmit(newCiw1);
                myDatabase.SubmitChanges();
                updateParameters();
                updateDataGridViews();
            }
            else
            {
                MessageBox.Show("Не задана нагрузка для переноса!", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
        private void buttonMoveFormalPart_Click(object sender, EventArgs e)
        {
            FormSelectEmployee fse = new FormSelectEmployee(myDatabase);

            fse.ShowDialog();
            if (fse.DialogResult == System.Windows.Forms.DialogResult.OK && fse.SelectedEmployee != null)
            {
                CourseInWork ciw = (CourseInWork)bindingSourceFormalAndFact.Current;
                if (fse.SelectedEmployee.Id != iCathedra_Settings.PochFondKod)
                {
                    FormSelectWorkloadHourType fswht = new FormSelectWorkloadHourType(ciw);
                    fswht.ShowDialog();
                    if (fswht.DialogResult == System.Windows.Forms.DialogResult.OK && fswht.SelectedWorkloadHourType != WorkloadHourType.None)
                    {
                        CourseInWork newCiw1 = ciw.Split((WorkloadType)ciw.Fact, (WorkloadType)ciw.Fact,
                                                         ciw.Employee, ciw.Employee,
                                                         fswht.SelectedWorkloadHourType,
                                                         WorkloadMoveType.Переносится);
                        myDatabase.CourseInWork.InsertOnSubmit(newCiw1);
                        myDatabase.SubmitChanges();

                        CourseInWork newCiw2 = newCiw1.Split(WorkloadType.Фактическая, WorkloadType.Формальная,
                                                             newCiw1.Employee, fse.SelectedEmployee,
                                                             fswht.SelectedWorkloadHourType,
                                                             WorkloadMoveType.Копируется);
                        CourseInWork.MakeTwins(ref newCiw1, ref newCiw2);
                        myDatabase.CourseInWork.InsertOnSubmit(newCiw2);
                        myDatabase.SubmitChanges();

                        if (ciw.AllHours == 0)
                        {
                            myDatabase.CourseInWork.DeleteOnSubmit(ciw);
                            myDatabase.SubmitChanges();
                        }

                        updateParameters();
                        updateDataGridViews();
                    }
                    else
                    {
                        MessageBox.Show("Не задана нагрузка для переноса!", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    }
                }
                else
                {
                    MessageBox.Show("Для переноски в почасовой фонд есть отдельная кнопка!", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            else
            {
                MessageBox.Show("Преподаватель не выбран!", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
            }


            //myDatabase.CourseInWork.InsertOnSubmit
        }
        private void buttonMoveToPochFond_Click(object sender, EventArgs e)
        {
            Employee     pochFond = myDatabase.Employee.First <Employee>(em => em.Id == iCathedra_Settings.PochFondKod);
            CourseInWork ciw      = (CourseInWork)bindingSourceFormalAndFact.Current;

            FormSelectWorkloadHourType fswht = new FormSelectWorkloadHourType(ciw);

            fswht.ShowDialog();
            if (fswht.DialogResult == System.Windows.Forms.DialogResult.OK && fswht.SelectedWorkloadHourType != WorkloadHourType.None)
            {
                CourseInWork newCiw1 = ciw.Split((WorkloadType)ciw.Fact, (WorkloadType)ciw.Fact,
                                                 ciw.Employee, ciw.Employee,
                                                 fswht.SelectedWorkloadHourType,
                                                 WorkloadMoveType.Переносится);
                myDatabase.CourseInWork.InsertOnSubmit(newCiw1);
                myDatabase.SubmitChanges();

                CourseInWork newCiw2 = newCiw1.Split(WorkloadType.Фактическая, WorkloadType.Формальная,
                                                     newCiw1.Employee, pochFond,
                                                     fswht.SelectedWorkloadHourType,
                                                     WorkloadMoveType.Копируется);
                CourseInWork.MakeTwins(ref newCiw1, ref newCiw2);
                myDatabase.CourseInWork.InsertOnSubmit(newCiw2);
                myDatabase.SubmitChanges();

                if (ciw.AllHours == 0)
                {
                    myDatabase.CourseInWork.DeleteOnSubmit(ciw);
                    myDatabase.SubmitChanges();
                }

                updateParameters();
                updateDataGridViews();
            }
            else
            {
                MessageBox.Show("Не задана нагрузка для переноса!", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }