public override bool DeletingEntity(TestingSystemEntities db) { int idTest = Convert.ToInt32((this).Tag); var deleteTest = db.Test.Where(x => x.Id == idTest).FirstOrDefault(); int questionsCount = deleteTest.Question.Count(); MessageBoxResult result = MessageBox.Show( $"Тест {deleteTest.Name} содержит {questionsCount} вопросов." + " \nУдалить?", $"Удаление теста {deleteTest.Name}", MessageBoxButton.YesNo); if (result == MessageBoxResult.Yes) { if (questionsCount > 0) { // question var deleteQuestions = ( from question in db.Question where question.TestId == deleteTest.Id select question ) .ToList(); if (deleteQuestions.Count > 0) { int[] delQuestionsId = (from question in deleteQuestions select question.Id).ToArray(); // answer var deleteAnswer = ( from answer in db.Answer where (delQuestionsId).Contains(answer.QuestionId) select answer ) .ToList(); if (deleteAnswer.Count > 0) { db.Answer.RemoveRange(deleteAnswer); } db.Question.RemoveRange(deleteQuestions); } } db.Test.Remove(deleteTest); db.SaveChanges(); // Установка Active после удаления. this.EntityActivitySwitching(db, deleteTest); return(true); } return(false); }
public override bool DeletingEntity(TestingSystemEntities db) { int idAnswer = Convert.ToInt32(this.Tag); var deleteAnswer = db.Answer .Where(x => x.Id == idAnswer) .FirstOrDefault(); MessageBoxResult result = MessageBox.Show( $"Вы действительно хотите удалить этот ответ?", $"Удаление ответа", MessageBoxButton.YesNo, MessageBoxImage.Question); if (result == MessageBoxResult.Yes) { db.Answer.Remove(deleteAnswer); db.SaveChanges(); // Установка Active после удаления. this.EntityActivitySwitching(db, deleteAnswer); return(true); } return(false); }
private List <Test> GetListActiveTestsOfSelectedCategories(int?idCategory, TestingSystemEntities db) { List <Test> listTestsOfSelectedCategories; if (idCategory == null) { this.level = Level.AllTests; this.currentIdCategory = -1; listTestsOfSelectedCategories = ( from test in db.Test where test.Active == true select test ) .ToList(); } else { this.level = Level.TestsOfTheSelectedCategory; listTestsOfSelectedCategories = ( from test in db.Test where test.CategoryId == idCategory where test.Active == true select test ) .ToList(); } return(listTestsOfSelectedCategories); }
private void EntityActivitySwitching(TestingSystemEntities db, Test deleteTest) { // ===== // Категория. bool active; int deleteAnswerCategoryId = db.Test .Where(t => t.Id == deleteTest.CategoryId) .Select(t => t.CategoryId).FirstOrDefault(); // Если есть активные тесты у категории if (db.Test .Where(t => t.CategoryId == deleteTest.CategoryId && t.Active == true) .Count() > 0) { active = true; } else { active = false; } // Переключаем Тест db.Category .Where(c => c.Id == deleteTest.CategoryId) .FirstOrDefault() .Active = active; db.SaveChanges(); }
protected override void Seed(TestingSystemEntities context) { // This method will be called after migrating to the latest version. // You can use the DbSet<T>.AddOrUpdate() helper extension method // to avoid creating duplicate seed data. }
public override bool AddEntity(TestingSystemEntities db) { WindowEdit windowAdd = new WindowEdit(); windowAdd.gridEditCategory.Visibility = Visibility.Visible; windowAdd.textBoxCategoryName.Focus(); windowAdd.buttonOk.Content = "Добавить"; windowAdd.Title = "Добавление категории"; windowAdd.textBoxCategoryName.MaxLength = 30; bool?result = windowAdd.ShowDialog(); if (result == true) { Category category = new Category(); category.Name = windowAdd.CategoryName; db.Category.Add(category); db.SaveChanges(); return(true); } return(false); }
public override bool AddEntity(TestingSystemEntities db) { WindowEdit windowAdd = new WindowEdit(this.TestId); windowAdd.gridEditQuestion.Visibility = Visibility.Visible; windowAdd.textBoxQuestionName.Focus(); windowAdd.buttonOk.Content = "Добавить"; windowAdd.Title = "Добавление вопроса"; windowAdd.textBoxQuestionName.MaxLength = 500; bool?result = windowAdd.ShowDialog(); if (result == true) { Question addQuestion = new Question(); addQuestion.QuestionText = windowAdd.QuestionName; addQuestion.TestId = Convert.ToInt16(this.TestId); db.Question.Add(addQuestion); db.SaveChanges(); return(true); } return(false); }
public override bool EditingEntity(TestingSystemEntities db) { int idQuestion = Convert.ToInt32(this.Tag); var editQuestion = db.Question .Where(x => x.Id == idQuestion) .FirstOrDefault(); WindowEdit windowEdit = new WindowEdit(editQuestion); windowEdit.gridEditQuestion.Visibility = Visibility.Visible; windowEdit.textBoxQuestionName.Focus(); windowEdit.textBoxQuestionName.MaxLength = 500; // Заполняем поле вопроса windowEdit.QuestionName = editQuestion.QuestionText; bool?result = windowEdit.ShowDialog(); if (result == true) { editQuestion.QuestionText = windowEdit.QuestionName; db.SaveChanges(); return(true); } return(false); }
public override bool EditingEntity(TestingSystemEntities db) { int idCategory = Convert.ToInt32(this.Tag); var editCategory = db.Category .Where(x => x.Id == idCategory) .FirstOrDefault(); WindowEdit windowEdit = new WindowEdit(editCategory); windowEdit.gridEditCategory.Visibility = Visibility.Visible; windowEdit.textBoxCategoryName.Focus(); windowEdit.CategoryName = editCategory.Name; windowEdit.textBoxCategoryName.MaxLength = 30; bool?result = windowEdit.ShowDialog(); if (result == true) { // Запишем в базу editCategory.Name = windowEdit.CategoryName; db.SaveChanges(); return(true); } return(false); }
public ActionResult DeleteQuestion(int questionIdToDel) { var context = new TestingSystemEntities(); context.DelQuestionAndAnswers(questionIdToDel); context.SaveChanges(); return(RedirectToAction("EditQuestions")); }
public ActionResult DeleteAllResults() { var context = new TestingSystemEntities(); context.Results.RemoveRange(context.Results.ToList()); context.SaveChanges(); return(RedirectToAction("Index")); }
public ActionResult DeleteAllResults() { var context = new TestingSystemEntities(); context.Results.RemoveRange(context.Results.ToList()); context.SaveChanges(); return RedirectToAction("Index"); }
private void ShowTestsOfSelectedCategories(int?idCategory) { this.ShowHeaderTest(); this.ClearTheList(); using (TestingSystemEntities db = new TestingSystemEntities()) { List <Test> listTestsOfSelectedCategories = null; if (this.isTeacher) { listTestsOfSelectedCategories = this.GetListTestsOfSelectedCategories(idCategory, db); } else { listTestsOfSelectedCategories = this.GetListActiveTestsOfSelectedCategories(idCategory, db); } GridLineTest gridLineTest = null; for (int i = 0; i < listTestsOfSelectedCategories.Count(); i++) { gridLineTest = new GridLineTest( i, listTestsOfSelectedCategories[i], this.isTeacher ); // Установить стиль кнопки внутри grid (gridLineTest.Children[0] as Button).Style = (Style)(this.Resources["styleButtonForList"]); // Обработчик нажатия на название теста (Test). (gridLineTest.Children[0] as Button).Click += ButtonInGridLineTest_Click; if (this.isTeacher) { this.CreateEditingButtons(gridLineTest, listTestsOfSelectedCategories[i].Id); } this.stackPanelSelection.Children.Add(gridLineTest); } if (this.isTeacher) { if (gridLineTest == null) { gridLineTest = new GridLineTest(); gridLineTest.CategoryId = this.currentIdCategory; } this.CreateAddButton(gridLineTest); } } }
public static void Initialize() { //Database.SetInitializer(new SeedData()); using (var db = new TestingSystemEntities()) { db.Database.Initialize(true); } }
// GET: Admin public ActionResult Index() { var context = new TestingSystemEntities(); var results = context.Results.ToList(); results.Reverse(); ViewBag.stud = results; return(View()); }
public ActionResult DeleteResult(int resultIdToDel) { var context = new TestingSystemEntities(); var resultToDel = from result in context.Results where result.Id == resultIdToDel select result; context.Results.Remove(resultToDel.ToList()[0]); context.SaveChanges(); return(RedirectToAction("Index")); }
public override bool AddEntity(TestingSystemEntities db) { WindowEdit windowAdd = new WindowEdit(this.CategoryId); windowAdd.gridEditTest.Visibility = Visibility.Visible; windowAdd.textBoxTestName.Focus(); windowAdd.buttonOk.Content = "Добавить"; windowAdd.Title = "Добавление теста"; // Настройка comboBox названия категорий. // узнаем существующие категории var categoriesTest = ( from category in db.Category select category ) .ToList(); // Заполняем названия доступных категорий. windowAdd.comboBoxTestCategories.ItemsSource = categoriesTest; // Выводим только имена категорий. windowAdd.comboBoxTestCategories.DisplayMemberPath = "Name"; // Выбираем категорию соответствующую // тесту который редактируем. windowAdd.comboBoxTestCategories.SelectedItem = categoriesTest .Where(x => x.Id == this.CategoryId) .FirstOrDefault(); windowAdd.comboBoxTestCategories.IsEnabled = false; windowAdd.textBoxTestName.MaxLength = 60; bool?result = windowAdd.ShowDialog(); if (result == true) { Test addTest = new Test(); addTest.Name = windowAdd.TestName; addTest.CategoryId = (windowAdd.comboBoxTestCategories .SelectedItem as Category).Id; db.Test.Add(addTest); db.SaveChanges(); return(true); } return(false); }
public ActionResult EditQuestions(int questionIdToEdit) { var context = new TestingSystemEntities(); var questions = context.Questions.ToList(); var answers = context.Answers.ToList(); ViewBag.Questions = questions; ViewBag.Answers = answers; return(RedirectToAction("EditQuestion")); }
public ActionResult EditQuestions() { var context = new TestingSystemEntities(); var questions = context.Questions.ToList(); var answers = context.Answers.ToList(); ViewBag.Questions = questions; ViewBag.Answers = answers; return(View()); }
/// <summary> /// Показать вопросы выбранного теста. /// </summary> /// <param name="idTest">Id выбранного теста.</param> private void ShowQuestionsOfSelectedOfTest(int idTest) { this.ShowHeaderQuestion(); this.ClearTheList(); using (TestingSystemEntities db = new TestingSystemEntities()) { this.level = Level.QuestionsOfTheSelectedTest; var listOfQuestionsCurrentTest = ( from question in db.Question.Include("Answer") where question.TestId == idTest select question ) .ToList(); GridLineQuestion gridLineQuestion = null; for (int i = 0; i < listOfQuestionsCurrentTest.Count(); i++) { gridLineQuestion = new GridLineQuestion( i, listOfQuestionsCurrentTest[i] ); // Установить стиль кнопки внутри grid (gridLineQuestion.Children[0] as Button).Style = (Style)(this.Resources["styleButtonForList"]); // Обработчик нажатия на название Вопроса (Question). (gridLineQuestion.Children[0] as Button).Click += ButtonInGridLineQuestion_Click; this.CreateEditingButtons(gridLineQuestion, listOfQuestionsCurrentTest[i].Id); this.stackPanelSelection.Children.Add(gridLineQuestion); } if (gridLineQuestion == null) { gridLineQuestion = new GridLineQuestion(); gridLineQuestion.TestId = this.currentIdTest; } if (this.isTeacher) { this.CreateAddButton(gridLineQuestion); } } }
public override bool EditingEntity(TestingSystemEntities db) { int idTest = Convert.ToInt32(this.Tag); var editTest = db.Test .Where(x => x.Id == idTest) .FirstOrDefault(); WindowEdit windowEdit = new WindowEdit(editTest); windowEdit.gridEditTest.Visibility = Visibility.Visible; windowEdit.textBoxTestName.Focus(); windowEdit.textBoxTestName.MaxLength = 60; var categoriesTest = ( from category in db.Category select category ) .ToList(); // Заполняем название теста. windowEdit.TestName = editTest.Name; // Заполняем названия доступных категорий. windowEdit.comboBoxTestCategories.ItemsSource = categoriesTest; // Выводим только имена категорий. windowEdit.comboBoxTestCategories.DisplayMemberPath = "Name"; // Выбираем категорию соответствующую // тесту который редактируем. windowEdit.comboBoxTestCategories.SelectedItem = editTest.Category; bool?result = windowEdit.ShowDialog(); if (result == true) { editTest.Name = windowEdit.TestName; editTest.CategoryId = (windowEdit.comboBoxTestCategories .SelectedItem as Category).Id; db.SaveChanges(); return(true); } return(false); }
public ActionResult AddNewQuestion(string questionText, string answer1Text, string answer2Text, string answer3Text, string answer4Text, int correctAnswerRadio) { var context = new TestingSystemEntities(); context.AddQuestion(questionText); int qId = context.Questions.ToList().Last().QuestionId; context.AddAnswers(qId, answer1Text, answer2Text, answer3Text, answer4Text); int lastAnswerId = context.Answers.ToList().Last().AnswerId; context.AddCorrectAnswer(qId, lastAnswerId + correctAnswerRadio - 4); context.SaveChanges(); return RedirectToAction("EditQuestions"); }
/// <summary> /// Данное имя уже существует в базе данных. /// </summary> /// <param name="textBoxText"></param> /// <returns></returns> internal static bool IsNameAlreadyExists(string categoryName) { using (TestingSystemEntities db = new TestingSystemEntities()) { Category result = db.Category.Where(x => x.Name == categoryName).FirstOrDefault(); if (result == null) { return(false); } return(true); } }
/// <summary> /// Показать ответы выбранного вопроса. /// </summary> /// <param name="idQuestion">Id выбранного вопроса.</param> private void ShowAnswersForSelectedOfQuestion(int idQuestion) { this.ShowHeaderAnswer(); this.ClearTheList(); using (TestingSystemEntities db = new TestingSystemEntities()) { this.level = Level.AnswersForSelectedOfQuestion; var listOfAnswersCurrentQuestion = ( from answer in db.Answer where answer.QuestionId == idQuestion select answer ) .ToList(); GridLineAnswer gridLineAnswer = null; for (int i = 0; i < listOfAnswersCurrentQuestion.Count(); i++) { gridLineAnswer = new GridLineAnswer( i, listOfAnswersCurrentQuestion[i] ); // Установить стиль кнопки внутри grid (gridLineAnswer.Children[0] as Button).Style = (Style)(this.Resources["styleButtonForList"]); this.CreateEditingButtons(gridLineAnswer, listOfAnswersCurrentQuestion[i].Id); this.stackPanelSelection.Children.Add(gridLineAnswer); } if (gridLineAnswer == null) { gridLineAnswer = new GridLineAnswer(); gridLineAnswer.QuestionId = this.currentIdQuestion; } if (this.isTeacher) { this.CreateAddButton(gridLineAnswer); } } }
private void SwitchingOtherAnswersToWrong(TestingSystemEntities db, int selectedIndex, int questionId) { if (selectedIndex == 0) { var answers = db.Answer .Where(x => x.QuestionId == questionId) .ToList(); foreach (var answer in answers) { answer.CorrectAnswer = false; } } }
public ActionResult EditQuestion(int questionIdToEdit) { var context = new TestingSystemEntities(); var questionToEdit = from question in context.Questions.ToList() where question.QuestionId == questionIdToEdit select question.QuestionValue; var answersToEdit = from answer in context.Answers.ToList() where answer.Question.QuestionId == questionIdToEdit select answer.AnswerValue; ViewBag.QuestionIdToEdit = questionIdToEdit; ViewBag.Question = questionToEdit.ToList(); ViewBag.Answers = answersToEdit.ToList(); return(View()); }
public override bool DeletingEntity(TestingSystemEntities db) { int idQuestion = Convert.ToInt32(this.Tag); var deleteQuestion = db.Question .Where(x => x.Id == idQuestion) .FirstOrDefault(); int answersCount = deleteQuestion.Answer.Count(); MessageBoxResult result = MessageBox.Show( $"Вопрос {deleteQuestion.QuestionText}" + $" содержит {answersCount} ответов." + " \nУдалить?", $"Удаление вопроса {deleteQuestion.QuestionText}", MessageBoxButton.YesNo); if (result == MessageBoxResult.Yes) { if (answersCount > 0) { // answers var deleteAnswers = ( from answer in db.Answer where answer.QuestionId == idQuestion select answer ) .ToList(); // deleting answers if (deleteAnswers.Count > 0) { db.Answer.RemoveRange(deleteAnswers); } } db.Question.Remove(deleteQuestion); db.SaveChanges(); // Установка Active после удаления. this.EntityActivitySwitching(db, deleteQuestion); return(true); } return(false); }
internal static bool IsNameAlreadyExists(string questionName, int entityParentId) { using (TestingSystemEntities db = new TestingSystemEntities()) { Question result = db.Question .Where(q => q.QuestionText == questionName && q.TestId == entityParentId) .FirstOrDefault(); if (result == null) { return(false); } return(true); } }
private void ButtonAddEntity_Click(object sender, RoutedEventArgs e) { using (TestingSystemEntities db = new TestingSystemEntities()) { if (sender is ButtonAddEntity) { bool isAdded = (sender as ButtonAddEntity).AddEntity(db); if (isAdded) { // Выводим ту сущность, которую добавили this.ShowGridLineEntity(sender); } } } }
internal static bool IsNameAlreadyExists(string answerName, int entityParentId) { using (TestingSystemEntities db = new TestingSystemEntities()) { Answer result = db.Answer .Where(a => a.ResponseText == answerName && a.QuestionId == entityParentId) .FirstOrDefault(); if (result == null) { return(false); } return(true); } }
internal static bool IsNameAlreadyExists(string testName, int entityParentId) { using (TestingSystemEntities db = new TestingSystemEntities()) { Test result = db.Test .Where(t => t.Name == testName && t.CategoryId == entityParentId) .FirstOrDefault(); if (result == null) { return(false); } return(true); } }
private void ButtonEditEntity_Click(object sender, RoutedEventArgs e) { using (TestingSystemEntities db = new TestingSystemEntities()) { if (sender is ButtonEditEntity) { bool isEdited = (sender as ButtonEditEntity).EditingEntity(db); if (isEdited) { // Выводим ту сущность, которую редактировали. this.ShowGridLineEntity(sender); } } } }
public ActionResult EditQuestion(int questionIdToEdit) { var context = new TestingSystemEntities(); var questionToEdit = from question in context.Questions.ToList() where question.QuestionId == questionIdToEdit select question.QuestionValue; var answersToEdit = from answer in context.Answers.ToList() where answer.Question.QuestionId == questionIdToEdit select answer.AnswerValue; ViewBag.QuestionIdToEdit = questionIdToEdit; ViewBag.Question = questionToEdit.ToList(); ViewBag.Answers = answersToEdit.ToList(); return View(); }
public JsonResult Testing(int? answerFromClient) { int qNumber = Convert.ToInt32(Session["QuestionNumber"]); int resultPoints = Convert.ToInt32(Session["Points"]); var context = new TestingSystemEntities(); var questions = context.Questions.ToList(); qNumber++; //var qId = questions[qNumber - 1].QuestionId; var answers = from answer in context.Answers.ToList() where answer.Question.QuestionId == questions[qNumber - 1].QuestionId select answer.AnswerValue; var answersId = from answer in context.Answers.ToList() where answer.Question.QuestionId == questions[qNumber - 1].QuestionId select answer.AnswerId; if (answerFromClient != null) { var correctAnswer = from correct in context.CorrectAnswers.ToList() where correct.Question.QuestionId == questions[qNumber - 2].QuestionId select correct.Answer.AnswerId; var ca = correctAnswer.ToList(); if (ca[0] == answerFromClient) { resultPoints++; Session["Points"] = resultPoints; } } if (qNumber <= questions.Count) { object data = new object[] { questions[qNumber-1].QuestionValue, answers, answersId }; Session["QuestionNumber"]=qNumber; return Json(data); } else { int points = Convert.ToInt32(Session["Points"]); int totalQ = context.Questions.Count(); Result result = new Result(); result.Name = Session["FirstName"].ToString(); result.LastName = Session["LastName"].ToString(); result.Group = Session["Group"].ToString(); result.PCName = Request.UserHostName; result.DateAndTime = DateTime.Now; result.IPAddress = Request.UserHostAddress; result.Points = points; result.TotalPoints = totalQ; result.AnswersPercent = ((decimal)points/(decimal)totalQ)*100; context.Results.Add(result); context.SaveChanges(); return Json(new {isFinished = true, result = points, totalQuestions = totalQ }); } }
public ActionResult EditQuestion(int qToEdit, string questionText, string answer1Text, string answer2Text, string answer3Text, string answer4Text, int correctAnswerRadio) { var context = new TestingSystemEntities(); var editingQuestion = (from question in context.Questions.ToList() where question.QuestionId == qToEdit select question).First(); var editingAnswer = (from answer in context.Answers.ToList() where answer.Question.QuestionId == qToEdit select answer).ToList(); editingQuestion.QuestionValue = questionText; editingAnswer[0].AnswerValue = answer1Text; editingAnswer[1].AnswerValue = answer2Text; editingAnswer[2].AnswerValue = answer3Text; editingAnswer[3].AnswerValue = answer4Text; context.SaveChanges(); return RedirectToAction("EditQuestions"); }
public ActionResult EditQuestions() { var context = new TestingSystemEntities(); var questions = context.Questions.ToList(); var answers = context.Answers.ToList(); ViewBag.Questions = questions; ViewBag.Answers = answers; return View(); }
public ActionResult EditQuestions(int questionIdToEdit) { var context = new TestingSystemEntities(); var questions = context.Questions.ToList(); var answers = context.Answers.ToList(); ViewBag.Questions = questions; ViewBag.Answers = answers; return RedirectToAction("EditQuestion"); }
// GET: Admin public ActionResult Index() { var context=new TestingSystemEntities(); var results = context.Results.ToList(); results.Reverse(); ViewBag.stud = results; return View(); }
public ActionResult DeleteResult(int resultIdToDel) { var context = new TestingSystemEntities(); var resultToDel = from result in context.Results where result.Id == resultIdToDel select result; context.Results.Remove(resultToDel.ToList()[0]); context.SaveChanges(); return RedirectToAction("Index"); }
public ActionResult DeleteQuestion(int questionIdToDel) { var context = new TestingSystemEntities(); context.DelQuestionAndAnswers(questionIdToDel); context.SaveChanges(); return RedirectToAction("EditQuestions"); }