コード例 #1
0
        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);
        }