Ejemplo n.º 1
0
        public IActionResult GetAnswer(string id, string answer, string correctAnswer)
        {
            var    list   = _context.UsersAnswers;
            var    users  = _context.Users.Where(u => u.Email == User.Identity.Name);
            string userId = "";

            foreach (var el in users)
            {
                userId = el.Id;
            }
            var  answers  = list.Where(p => p.QuestionId == Convert.ToInt32(id) && p.UserId == userId);
            var  question = _context.Questions.Find(Convert.ToInt32(id));
            bool result   = answer == correctAnswer;
            int  TestId   = question.TestId;

            if (answers.Count() != 0)
            {
                var el = answers.First();
                el.IsCorrectAnswer = result;
                _context.Update(el);
                _context.SaveChanges();
            }
            else
            {
                MyWebTest.Models.UsersAnswer ans = new UsersAnswer()
                {
                    IsCorrectAnswer = result,
                    UserId          = userId,
                    QuestionId      = Convert.ToInt32(id)
                };
                _context.Add(ans);
                _context.SaveChanges();
            }
            return(RedirectToRoute("start_test", new { id = TestId.ToString() }));
        }
Ejemplo n.º 2
0
        public bool AddUserAnswer(UserQuestionViewModel model)
        {
            var usersAnswer = new UsersAnswer()
            {
                AnswerDate = DateTime.UtcNow,
                QuestionId = model.QuestionDto.Id,
                UserId     = model.User.Id,
                Answer     = model.QuestionDto.Answer
            };

            _usersAnswerDal.Add(usersAnswer);
            return(_usersAnswerDal.SaveChanges());
        }
        private int SaveResult(int quizId, Dictionary <int, int> selectedAnswers, int scorePercentage)
        {
            var       user      = this.User.Identity.GetUserId();
            TakenQuiz takenQuiz = new TakenQuiz();

            takenQuiz.UserId           = user;
            takenQuiz.QuizDefinitionId = quizId;

            foreach (var item in selectedAnswers)
            {
                var answerId = item.Value;

                UsersAnswer givenAnswer = new UsersAnswer();
                givenAnswer.AnswerDefinitionId = answerId;
                givenAnswer.TakenQuiz          = takenQuiz;
                this.Db.UsersAnswers.Add(givenAnswer);
            }

            takenQuiz.Score = scorePercentage;
            this.Db.TakenQuizzes.Add(takenQuiz);
            this.Db.SaveChanges();

            return(takenQuiz.Id);
        }