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]); } } } }