Пример #1
0
        public ActionResult Results(int id)
        {
            UserSummaryViewModel model = db.Users.Where(u => u.ID == id)
                                         .Select(u => new UserSummaryViewModel
            {
                Name  = u.Name,
                Email = u.Email
            }).SingleOrDefault <UserSummaryViewModel>();

            UserQuiz userQuiz = db.UserQuizs.Where(uq => uq.UserID == id).SingleOrDefault <UserQuiz>();

            List <UserQuizAnswer> userQuizAnswers = db.UserQuizAnswers.Where(ua => ua.UserQuizID == userQuiz.ID)
                                                    .ToList <UserQuizAnswer>();

            model.QuestionsAndAnswers = new List <QuestionsAndAnswersViewModel>();

            foreach (var item in userQuizAnswers)
            {
                QuestionsAndAnswersViewModel data = new QuestionsAndAnswersViewModel();

                QuizAnswer answer = db.QuizAnswers.Where(a => a.ID == item.QuizAnswerID).SingleOrDefault <QuizAnswer>();

                QuizQuestion quizQuestion = db.QuizQuestions.Where(q => q.ID == answer.QuestionID).SingleOrDefault <QuizQuestion>();

                QuizAnswer correctAnswer = db.QuizAnswers.Where(a => a.QuestionID == quizQuestion.ID && a.CorrectAnswer == true).SingleOrDefault <QuizAnswer>();

                if (correctAnswer.AnswerType == "TX")
                {
                    if (correctAnswer.Answer.ToLower() == item.UserQuizText.ToLower())
                    {
                        data.Correct = true;
                    }
                    else
                    {
                        data.Correct = false;
                    }
                }
                else
                {
                    if (answer.ID == correctAnswer.ID)
                    {
                        data.Correct = true;
                    }
                    else
                    {
                        data.Correct = false;
                    }
                }
                data.CorrectAnswer = correctAnswer.Answer;
                data.Question      = quizQuestion.Question;
                if (answer.AnswerType == "TX")
                {
                    data.UserAnswer = item.UserQuizText;
                }
                else
                {
                    data.UserAnswer = answer.Answer;
                }
                data.WhyCorrect = correctAnswer.WhyCorrectAnswer;

                model.QuestionsAndAnswers.Add(data);
            }

            model.NumberOfCorrect   = model.QuestionsAndAnswers.Where(m => m.Correct == true).Count();
            model.NumberOfQuestions = model.QuestionsAndAnswers.Count();

            return(View(model));
        }
Пример #2
0
 public ActionResult <Quiz> SubmitQuiz(UserQuiz quiz)
 {
 }
Пример #3
0
 public UserQuiz Create(UserQuiz userQuiz)
 {
     dBContext.UserQuizzes.Add(userQuiz);
     dBContext.SaveChanges();
     return(userQuiz);
 }