示例#1
0
        // Метод, котрый записывает предметы из 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);
            }
        }
示例#2
0
 private void Save_tch()
 {
     try
     {
         db.SaveChanges();
         Load_tch();
     }
     catch (Exception e)
     {
         MessageBox.Show(e.Message, "Exception", MessageBoxButton.OK, MessageBoxImage.Error);
     }
 }
示例#3
0
        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);
            }
        }
示例#4
0
 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();
     }
 }
示例#5
0
        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);
                }
            }
        }
示例#6
0
 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();
         }
     }
 }
示例#7
0
        // Метод для обновления количества вопросов билета для каждого предмета
        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);
            }
        }