コード例 #1
0
        public ActionResult QuizTest(List <QuizAnswersVM> resultQuiz)
        {
            List <QuizAnswersVM> finalResultQuiz = new List <QuizAnswersVM>();

            foreach (QuizAnswersVM answser in resultQuiz)
            {
                QuizAnswersVM result = _dbContext.Questions.Where(a => a.Id == answser.QuestionID).Select(a => new QuizAnswersVM
                {
                    QuestionID = a.Id,
                    AnswerQ    = a.Answer,
                    isCorrect  = (answser.AnswerQ.ToLower().Equals(a.Answer.ToLower()))
                }).FirstOrDefault();

                finalResultQuiz.Add(result);
            }

            return(Json(new { result = finalResultQuiz }, JsonRequestBehavior.AllowGet));
        }
コード例 #2
0
        public ActionResult QuizTest(List <QuizAnswersVM> resultQuiz)
        {
            List <QuizAnswersVM> finalResultQuiz = new List <QuizAnswersVM>();

            foreach (QuizAnswersVM answser in resultQuiz)
            {
                QuizAnswersVM result = dbContext.Answers.Where(a => a.QuestionID == answser.QuestionID).Select(a => new QuizAnswersVM
                {
                    QuestionID = a.QuestionID.Value,
                    AnswerQ    = a.AnswerText,
                    isCorrect  = (answser.AnswerQ.ToLower().Equals(a.AnswerText.ToLower()))
                }).FirstOrDefault();

                finalResultQuiz.Add(result);

                try
                {
                    bool chech_answer = dbContext.Answers.Select(x => x.AnswerText).ToList().Contains(answser.AnswerQ);

                    var update_resultados = resultQuiz.Where(x => x.AnswerQ == answser.AnswerQ).Select(y => new UserAnswer
                    {
                        QuestionID     = y.QuestionID,
                        UserAnswerText = y.AnswerQ,
                        Is_Answer      = chech_answer
                    }).FirstOrDefault();

                    dbContext.UserAnswers.Add(update_resultados);

                    dbContext.SaveChanges();
                }
                catch (Exception ex)
                {
                    throw;
                }
            }
            return(Json(new { result = finalResultQuiz }, JsonRequestBehavior.AllowGet));
        }
コード例 #3
0
        public ActionResult QuizTest(List <QuizAnswersVM> resultQuiz)
        {
            List <QuizAnswersVM> finalResultQuiz = new List <QuizAnswersVM>();

            foreach (QuizAnswersVM answser in resultQuiz)
            {
                if (answser == null)
                {
                    QuizAnswersVM result = new QuizAnswersVM
                    {
                        QuestionID = 0,
                        AnswerQ    = null,
                        isCorrect  = 1
                    };
                    finalResultQuiz.Add(result);
                }
                else
                {
                    QuizAnswersVM result = dbContext.Answer.Where(a => a.ANSWER == answser.AnswerQ).Select(a => new QuizAnswersVM
                    {
                        QuestionID = a.ID_QUESTION,
                        AnswerQ    = a.ANSWER,
                        isCorrect  = a.ISTRUE_ANSWER
                    }).FirstOrDefault();
                    finalResultQuiz.Add(result);
                }
            }

            for (int i = 0; i < finalResultQuiz.Count; i++)
            {
                if (finalResultQuiz.ElementAt(i) == null)
                {
                }
                else
                {
                    if (finalResultQuiz.ElementAt(i).isCorrect == 1)
                    {
                        QuesId = finalResultQuiz.ElementAt(i).QuestionID;
                    }
                    else if (finalResultQuiz.ElementAt(i).isCorrect == 0)
                    {
                        count++;
                        QuesId = finalResultQuiz.ElementAt(i).QuestionID;
                    }
                }
            }
            double correcCount = count;


            String userName = User.Identity.Name;

            foreach (Question u in dbContext.Question)
            {
                if (u.ID_QUESTION.Equals(QuesId))
                {
                    testID = u.ID_TEST;
                }
            }

            IQueryable <QuestionVM> questions = dbContext.Question.Where(q => q.ID_TEST == testID)
                                                .Select(q => new QuestionVM
            {
                QuestionID = q.ID_QUESTION,
            }).AsQueryable();

            allCount = questions.Count(); /*(int)TempData["SigmaData"]; *///finalResultQuiz.Count;
            double proc   = correcCount / allCount * 100;
            Result Result = new Result
            {
                ID_USER      = uS.getUserId(userName),
                ID_TEST      = testID,
                RESULT       = (float)proc,
                RESULT_DATE2 = DateTime.Now
            };

            rS.CreateResult(Result);
            if (proc >= 50)
            {
                UserProgress user = upS.getUserProgressByUserId(uS.getUserId(userName));
                if (user == null)
                {
                    upS.ChangProgress(uS.getUserId(userName), tS.getLessonIdByTestId2(testID));
                }
                else
                {
                    if (user.Id_Lesson_Learned < tS.getLessonIdByTestId2(testID))
                    {
                        upS.ChangProgress(uS.getUserId(userName), tS.getLessonIdByTestId2(testID));
                    }
                }
            }
            else
            {
            }
            return(Json(new { result = finalResultQuiz }));
        }