public async Task <ActionResult> PlayQuizAsync(string quizid) { try { Quiz quiz = await _quizRepository.GetQuizForQuizIdAsync(Guid.Parse(quizid)); ScoreUser_VM scoreUser_VM = new ScoreUser_VM() { QName = quiz.Name, QId = quiz.Id }; var questions = await _questionRepository.GetQuestionsForQuizAsync(scoreUser_VM.QId); var question = questions[scoreUser_VM.QIndex]; var answers = await _answerRepository.GetAnswersForQuestionAsync(question.Id.ToString()); scoreUser_VM.Question = question; scoreUser_VM.Answers = answers; ViewBag.Score = 0; return(View("PlayQuiz", scoreUser_VM)); } catch (Exception ex) { Debug.WriteLine(ex.InnerException.Message); return(View()); } }
public async Task <ActionResult> NextQuestion(Guid QId, string QName, int QIndex, string Correct, int Score) { try { ScoreUser_VM score1 = new ScoreUser_VM() { QName = QName, QId = QId, QIndex = QIndex }; var questions = await _questionRepository.GetQuestionsForQuizAsync(score1.QId); score1.QIndex++; if (Correct == "correct") { Score += 1; } if (score1.QIndex >= questions.Count()) { Score newscore = new Score() { ApplicationUserId = _userManager.GetUserId(User), QuizId = score1.QId, MaxScore = questions.Count(), FinalScore = Score }; await _scoreRepository.AddScoreAsync(newscore); return(View("ResultQuiz", newscore)); } else { var objquestion = questions[score1.QIndex]; IList <Answer> answers = await _answerRepository.GetAnswersForQuestionAsync(objquestion.Id.ToString()); score1.Question = objquestion; score1.Answers = answers; ViewBag.score = Score; return(View("PlayQuiz", score1)); } } catch (Exception ex) { Debug.WriteLine(ex.InnerException.Message); return(View()); } }