private async Task <MinefieldQuestionViewModel> GetQuestionForMinefieldQuizAsync(string currentUserId, int quizId, MinefieldQuestion minefieldQuestionEntity) { // get the already answered questions for this quiz var answeredQuizQuestions = await TriviaService.GetSelectedMinefieldAnswersAsync(currentUserId, quizId); var minefieldQuestion = Mapper.Map <MinefieldQuestion, MinefieldQuestionViewModel>(minefieldQuestionEntity); // mark up the answers that were selected and are correct for the user's quiz score foreach (var answer in minefieldQuestion.Answers) { AnsweredMinefieldQuestion answeredQuizQuestion = null; bool selectedByUser = answeredQuizQuestions.TryGetValue(answer.AnswerId, out answeredQuizQuestion); if (selectedByUser) { answer.IsSelected = true; answer.IsCorrect = answeredQuizQuestion.Answer.IsCorrect; } } return(minefieldQuestion); }