예제 #1
0
        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 }));
        }
예제 #2
0
        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));
        }