private async Task <List <QuestionViewModel> > GetQuestionsForIndividualQuizAsync(string userId, int quizId, ICollection <Question> questionsEntity) { // get the already answered questions for this quiz var answeredQuizQuestions = await TriviaService.GetAnsweredQuizQuestionsAsync(userId, quizId); // get the list of all possible questions for this quiz //var quizQuestions = await TriviaService.GetQuizQuestionsAsync(quizId); var questionListViewModel = Mapper.Map <ICollection <Question>, List <QuestionViewModel> >(questionsEntity); // match up the already selected answers with the questions for this quiz foreach (var questionViewModel in questionListViewModel) { var answeredQuizQuestion = answeredQuizQuestions[questionViewModel.QuestionId]; questionViewModel.SelectedAnswerId = answeredQuizQuestion.AnswerId; questionViewModel.IsAlreadyAnswered = true; // mark the correct answer to show the user on the UI that it was correct foreach (var answer in questionViewModel.Answers) { answer.IsCorrect = (answer.AnswerId == questionViewModel.CorrectAnswerId); } } return(questionListViewModel); }