Beispiel #1
0
        private void AddEditStudent_FormClosing(object sender, FormClosingEventArgs e)
        {
            // проверку следует проводить только при нажатии кнопки "Сохранить"
            if (DialogResult == DialogResult.OK)
            {
                // используем обработку исключительных ситуаций для проверки
                // на правильность ввода и вывода информации об ошибках
                try
                {
                    if (Group_comboBox.SelectedIndex == -1)
                    {
                        Group_comboBox.Focus();
                        throw new Exception("Не выбрана группа курсанта");
                    }
                    if (Surname_textBox.Text.Trim() == "")
                    {
                        Surname_textBox.Focus();
                        throw new Exception("Не указана фамилия студента");
                    }
                    if (FirstName_textBox.Text.Trim() == "")
                    {
                        FirstName_textBox.Focus();
                        throw new Exception("Не указано имя студента");
                    }

                    /*if (PatronymicName_textBox.Text.Trim() == "")
                     * {
                     *  PatronymicName_textBox.Focus();
                     *  throw new Exception("Не указано отчество студента");
                     * }*/
                    if (PhoneNumber_maskedTextBox.Text.Trim() == "+7 (   )    -")
                    {
                        PhoneNumber_maskedTextBox.Focus();
                        throw new Exception("Не указан номер телефона студента");
                    }

                    /*if (PhoneNumber_maskedTextBox.Text.Trim().Contains(" "))
                     * {
                     *  PhoneNumber_maskedTextBox.Focus();
                     *  throw new Exception("Номер телефона не может содержать пробелы");
                     * }*/
                    AutoschoolDataSet TempDS = new AutoschoolDataSet();
                    TempDS = BusinessLogic.ReadInstructorByID(Convert.ToInt32(Instructor_comboBox.SelectedValue.ToString()));
                    if (TempDS.Instructors[0]["WorkStatusName"].ToString() != "Работает")
                    {
                        DialogResult result = MessageBox.Show("Вы выбрали отсутствующего инструктора. Вы уверены, что хотите продолжить?", "Выбор отсутствующего сотрудника", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);
                        if (result == DialogResult.No)
                        {
                            e.Cancel = true;
                            return;
                        }
                    }
                    if (SelectedCarrierUseID == -1)
                    {
                        Instructor_comboBox.Focus();
                        throw new Exception("Не выбрана связка инструктора с транспортным средством. \nСначала выберите инструктора из списка, а затем выберите одну из его ТС в таблице ниже. ");
                    }
                }
                catch (Exception exp)
                {
                    MessageBox.Show(exp.Message, "Ошибка");
                    e.Cancel = true;
                    return;
                }
                // редактирование
                if (dataRow != null)
                {
                    dataRow["Surname"]        = Surname_textBox.Text;
                    dataRow["FirstName"]      = FirstName_textBox.Text;
                    dataRow["PatronymicName"] = PatronymicName_textBox.Text;
                    dataRow["PhoneNumber"]    = PhoneNumber_maskedTextBox.Text;
                    dataRow["Retraining"]     = Retraining_checkBox.Checked;
                    dataRow["Group"]          = Group_comboBox.SelectedValue;
                    dataRow["CarrierUse"]     = SelectedCarrierUseID;
                    dataRow["Photo"]          = ImageByte /*memoryStream.ToArray()*/;
                }
                else //добавление
                {
                    dataSetForCarriersUses = BusinessLogic.ReadCarriersUsesByID(SelectedCarrierUseID);
                    carriersUsesDataTable  = dataSetForCarriersUses.CarriersUses;
                    studentsDataTable.AddStudentsRow(Surname_textBox.Text, FirstName_textBox.Text,
                                                     PatronymicName_textBox.Text, PhoneNumber_maskedTextBox.Text, Retraining_checkBox.Checked,
                                                     groupsDataTable[Group_comboBox.SelectedIndex], carriersUsesDataTable[0], /*memoryStream.ToArray()*/ ImageByte);
                }
            }
        }
        private void AddEditWorkerForm_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (DialogResult == DialogResult.OK)
            {
                try
                {
                    if (Surname_textBox.Text.Trim() == "")
                    {
                        Surname_textBox.Focus();
                        throw new Exception("Не указана фамилия сотрудника");
                    }
                    if (FirstName_textBox.Text.Trim() == "")
                    {
                        FirstName_textBox.Focus();
                        throw new Exception("Не указано имя сотрудника");
                    }

                    /*if (PatronymicName_textBox.Text.Trim() == "")
                     * {
                     *  PatronymicName_textBox.Focus();
                     *  throw new Exception("Не указано отчество сотрудника");
                     * }*/
                    if (Post_comboBox.SelectedIndex == -1)
                    {
                        Post_comboBox.Focus();
                        throw new Exception("Не выбрана должность сотрудника");
                    }
                    if (WorkStatus_comboBox.SelectedIndex == -1)
                    {
                        WorkStatus_comboBox.Focus();
                        throw new Exception("Не выбран рабочий статус сотрудника");
                    }
                }
                catch (Exception exp)
                {
                    MessageBox.Show(exp.Message, "Ошибка");
                    e.Cancel = true;
                    return;
                }
                if (dataRow != null)
                {
                    NewPost = Post_comboBox.SelectedValue.ToString();
                    if (Post == NewPost)
                    {
                        dataRow["Surname"]        = Surname_textBox.Text;
                        dataRow["FirstName"]      = FirstName_textBox.Text;
                        dataRow["PatronymicName"] = PatronymicName_textBox.Text;
                        dataRow["WorkStatus"]     = WorkStatus_comboBox.SelectedValue.ToString();
                        if (Post == "преподаватель теории" || Post == "инструктор")
                        {
                            dataRow["Photo"] = ImageByte;
                        }
                    }
                    else
                    {
                        // удаляем сотрудника из той таблицы, где он был ранее
                        int ID = Convert.ToInt32(dataRow["ID"].ToString());
                        if (Post == "преподаватель теории")
                        {
                            AutoschoolDataSet TempDataSet = new AutoschoolDataSet();
                            TempDataSet = BusinessLogic.ReadTheoryTeacherByID(ID);
                            theoryTeachersDataTable.Rows.Find(TempDataSet.TheoryTeachers.Rows[0][0].ToString()).Delete();
                        }
                        else if (Post == "инструктор")
                        {
                            AutoschoolDataSet TempDataSet = new AutoschoolDataSet();
                            TempDataSet = BusinessLogic.ReadInstructorByID(ID);
                            instructorsDataTable.Rows.Find(TempDataSet.Instructors.Rows[0][0].ToString()).Delete();
                        }
                        else if (Post == "мастер сервиса")
                        {
                            AutoschoolDataSet TempDataSet = new AutoschoolDataSet();
                            TempDataSet = BusinessLogic.ReadServiceMasterByID(ID);
                            serviceMastersDataTable.Rows.Find(TempDataSet.ServiceMasters.Rows[0][0].ToString()).Delete();
                        }

                        // добавляем сотрудника в таблицу по его новой должности
                        if (NewPost == "преподаватель теории")
                        {
                            if (Photo_pictureBox.Image != null)
                            {
                                theoryTeachersDataTable.AddTheoryTeachersRow(Surname_textBox.Text, FirstName_textBox.Text,
                                                                             PatronymicName_textBox.Text, /*memoryStream.ToArray()*/ ImageByte,
                                                                             workStatusesDataTable[WorkStatus_comboBox.SelectedIndex]);
                            }
                            else
                            {
                                theoryTeachersDataTable.AddTheoryTeachersRow(Surname_textBox.Text, FirstName_textBox.Text,
                                                                             PatronymicName_textBox.Text, null,
                                                                             workStatusesDataTable[WorkStatus_comboBox.SelectedIndex]);
                            }
                        }
                        else if (NewPost == "инструктор")
                        {
                            if (Photo_pictureBox.Image != null)
                            {
                                instructorsDataTable.AddInstructorsRow(Surname_textBox.Text, FirstName_textBox.Text,
                                                                       PatronymicName_textBox.Text, /*memoryStream.ToArray()*/ ImageByte,
                                                                       workStatusesDataTable[WorkStatus_comboBox.SelectedIndex]);
                            }
                            else
                            {
                                instructorsDataTable.AddInstructorsRow(Surname_textBox.Text, FirstName_textBox.Text,
                                                                       PatronymicName_textBox.Text, null,
                                                                       workStatusesDataTable[WorkStatus_comboBox.SelectedIndex]);
                            }
                        }
                        else if (NewPost == "мастер сервиса")
                        {
                            serviceMastersDataTable.AddServiceMastersRow(Surname_textBox.Text, FirstName_textBox.Text,
                                                                         PatronymicName_textBox.Text, workStatusesDataTable[WorkStatus_comboBox.SelectedIndex]);
                        }
                    }
                }
                else
                {
                    if (NewPost == "преподаватель теории")
                    {
                        if (Photo_pictureBox.Image != null)
                        {
                            theoryTeachersDataTable.AddTheoryTeachersRow(Surname_textBox.Text, FirstName_textBox.Text,
                                                                         PatronymicName_textBox.Text, /*memoryStream.ToArray()*/ ImageByte,
                                                                         workStatusesDataTable[WorkStatus_comboBox.SelectedIndex]);
                        }
                        else
                        {
                            theoryTeachersDataTable.AddTheoryTeachersRow(Surname_textBox.Text, FirstName_textBox.Text,
                                                                         PatronymicName_textBox.Text, null,
                                                                         workStatusesDataTable[WorkStatus_comboBox.SelectedIndex]);
                        }
                    }
                    else if (NewPost == "инструктор")
                    {
                        if (Photo_pictureBox.Image != null)
                        {
                            instructorsDataTable.AddInstructorsRow(Surname_textBox.Text, FirstName_textBox.Text,
                                                                   PatronymicName_textBox.Text, /*memoryStream.ToArray()*/ ImageByte,
                                                                   workStatusesDataTable[WorkStatus_comboBox.SelectedIndex]);
                        }
                        else
                        {
                            instructorsDataTable.AddInstructorsRow(Surname_textBox.Text, FirstName_textBox.Text,
                                                                   PatronymicName_textBox.Text, null,
                                                                   workStatusesDataTable[WorkStatus_comboBox.SelectedIndex]);
                        }
                    }
                    else if (NewPost == "мастер сервиса")
                    {
                        serviceMastersDataTable.AddServiceMastersRow(Surname_textBox.Text, FirstName_textBox.Text,
                                                                     PatronymicName_textBox.Text, workStatusesDataTable[WorkStatus_comboBox.SelectedIndex]);
                    }
                }
            }
        }