public ActionResult QuizQuestion(QuestionsChoiceViewModel choice) { var currentRecord = _context.TStudentQuizQuestion. Where(x => x.StudentQuizQuestionId == choice.StudentQuizQuestionId).FirstOrDefault(); //si no es null no a finaliazado la prueba if (currentRecord.NextStudentQuestionId != null) { currentRecord.SelectedAnswerId = choice.SelectedAnswerId; _context.SaveChanges(); } else { currentRecord.SelectedAnswerId = choice.SelectedAnswerId; _context.SaveChanges(); //save record when student finish quiz in studenQuiz var studentQuiz = _context.TStudentQuiz.Include(q => q.StudentQuizQuestions). Include(q => q.StudentQuizQuestions.Select(z => z.Question)). Where(s => s.StudentQuizId == currentRecord.StudentQuizId).FirstOrDefault(); var correctAnswers = studentQuiz.StudentQuizQuestions.Where(q => q.SelectedAnswerId == q.Question.CorrectAnswerId).Count(); var totalQuestions = studentQuiz.StudentQuizQuestions.Count(); var finalScore = (correctAnswers * 100) / totalQuestions; studentQuiz.FinalScore = finalScore; studentQuiz.EndTime = DateTime.Now; _context.SaveChanges(); return(RedirectToAction("QuizResult", new { id = studentQuiz.StudentQuizId })); } return(RedirectToAction("QuizQuestion", new { id = currentRecord.NextStudentQuestionId })); }
public ActionResult QuizQuestion(int id) { var temp = _context.TStudentQuizQuestion.Include(r => r.Question).FirstOrDefault(x => x.StudentQuizQuestionId == id); var respuestasTemp = _context.TAnswer.Where(x => x.QuestionId == temp.QuestionId); var viewModel = new QuestionsChoiceViewModel { StudentQuizQuestionId = temp.StudentQuizQuestionId, QuestionText = temp.Question.QuestionText, Answers = respuestasTemp.ToList() }; return(View(viewModel)); }