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)); }
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)); }
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 })); }