// Метод, котрый записывает предметы из listBox_subject_of_teacher в базу данных public void RecordSubjectOfTeacher(List <int> list_id_teach, int id_teach) { try { list_id_teach.Sort(); // Логическая переменная - "флажок" для удаления записей в БД 1 раз bool deleteRecord = false; using (ExamTicket_dbEntities db = new ExamTicket_dbEntities()) { SubjectOfTeacher sot = new SubjectOfTeacher(); // Задача удалить все записи для преподавателя id_teach if (list_id_teach.Count == 0) { db.SubjectOfTeacher.RemoveRange(db.SubjectOfTeacher.Where(x => x.id_teacher_sot == id_teach)); db.SaveChanges(); } // Проверка на то, есть ли у преподавателя id_teach вообще записи в таблице SubjectOfTeacher var id_teach_sot = from a in db.SubjectOfTeacher where a.id_teacher_sot == id_teach //orderby a.id_subject_sot ascending select a; foreach (var s in id_teach_sot) { // Сначала удалим все существующие записи данного преподавателя, // а потом создадим после следующем блоке операторов if (deleteRecord == false) { db.SubjectOfTeacher.RemoveRange(db.SubjectOfTeacher.Where(x => x.id_teacher_sot == id_teach)); db.SaveChanges(); deleteRecord = true; } } // 1. Создание записей, у тех преподавателей, у которых записей не было изначально. // 2. Создание записей, у тех преподавателей, у которых они были изначально, но были удалены // в предедущем блоке кода. for (int i = 0; i < list_id_teach.Count; i++) { sot.id_teacher_sot = id_teach; sot.id_subject_sot = list_id_teach[i]; sot.active = true; db.SubjectOfTeacher.Add(sot); db.SaveChanges(); } MessageBox.Show("Записи успешно обновлены", "Информация"); } } catch (Exception e1) { MessageBox.Show(e1.Message, "Exception stored procedure", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void Save_tch() { try { db.SaveChanges(); Load_tch(); } catch (Exception e) { MessageBox.Show(e.Message, "Exception", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void tabTeacher_Save_Category_Click(object sender, RoutedEventArgs e) { try { Categories cat = new Categories(); using (ExamTicket_dbEntities db = new ExamTicket_dbEntities()) { if (var_status_operation_catigory == "add") { cat.name_category = textBox_name_catogory.Text; cat.id_subject_cat = current_id_subject; db.Categories.Add(cat); } else { var category = db.Categories .Where(c => c.id_category == current_id_category) .FirstOrDefault(); category.name_category = textBox_name_catogory.Text; } db.SaveChanges(); } LoadCategoriesToDataGrid(); MessageBox.Show("Записи успешно обновлены", "Информация"); var_status_operation_catigory = ""; } catch (Exception e2) { MessageBox.Show(e2.Message, "tabTeacher_Save_Category_Click", MessageBoxButton.OK, MessageBoxImage.Error); } }
private void tabTeacher_Delete_Category_Click(object sender, RoutedEventArgs e) { if (MessageBox.Show("Вы действительно хотите удалить запись?", "Предупреждение", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { using (ExamTicket_dbEntities db = new ExamTicket_dbEntities()) { db.Categories.RemoveRange(db.Categories.Where(x => x.id_category == current_id_category)); db.SaveChanges(); } LoadCategoriesToDataGrid(); } }
private void buttonAddQuestion_Click(object sender, RoutedEventArgs e) { if (listBox_formWinAddEditQuestion.Text == "") { MessageBox.Show("Вы не написали вопрос.", "Предупреждение!"); } else { try { Questions ques = new Questions(); using (ExamTicket_dbEntities db = new ExamTicket_dbEntities()) { // Определение текущей категории вопроса var name_of_category = from t in db.Categories where t.name_category == comboBox_name_of_category_formWinAddEditQuestion.SelectedItem select t; foreach (var p in name_of_category) { Id_category = p.id_category; } // Удаляем запись с выбраным вопросом db.Questions.RemoveRange(db.Questions.Where(x => x.text_quesation == old_textQuestion)); //db.SaveChanges(); // Присвоение полей для записи в БД ques.id_subject_ques = Id_subject; ques.id_category_ques = Id_category; ques.text_quesation = listBox_formWinAddEditQuestion.Text; ques.pathToPicture = currentpathToPicture; db.Questions.Add(ques); db.SaveChanges(); // Обновление dataGridTeacher_list_questions на форме WinTeacher //WinTeacher.Load_questions_to_dataGrid(); } MessageBox.Show("Записи успешно обновлены", "Информация"); // Закрытие окна this.Close(); } catch (Exception e2) { MessageBox.Show(e2.Message, "!!!", MessageBoxButton.OK, MessageBoxImage.Error); } } }
private void buttonDeleteQuestion_Click(object sender, RoutedEventArgs e) { if (current_textQuestion == "") { MessageBox.Show("Сначала выберите вопрос", "Предупреждение"); } else { if (MessageBox.Show("Вы уверены, что хотите удалить вопрос: \n\n" + current_textQuestion, "Предупреждение", MessageBoxButton.YesNo, MessageBoxImage.Warning) == MessageBoxResult.Yes) { using (ExamTicket_dbEntities db = new ExamTicket_dbEntities()) { db.Questions.RemoveRange(db.Questions.Where(x => x.text_quesation == current_textQuestion)); db.SaveChanges(); } Load_questions_to_dataGrid(); } } }
// Метод для обновления количества вопросов билета для каждого предмета private void button_Save_New_Value_qq_of_tiket_Click(object sender, RoutedEventArgs e) { int new_value_comboBoxQuantityQuestions = Convert.ToInt32(comboBoxQuantityQuestions.SelectedValue.ToString()); try { using (ExamTicket_dbEntities db = new ExamTicket_dbEntities()) { var var2 = db.Subjects .Where(c => c.id_subject == current_id_subject) .FirstOrDefault(); var2.quantity_questions_of_tiket = new_value_comboBoxQuantityQuestions; db.SaveChanges(); Load_subjects(); } MessageBox.Show("Записи успешно обновлены", "Информация"); } catch (Exception e2) { MessageBox.Show(e2.Message, "!!!", MessageBoxButton.OK, MessageBoxImage.Error); } }