public async Task <ICollection <ChallengedAnswer> > GetByParentQuestionAsync(ChallengedQuestion question)
        {
            var answers = await Query.Where("ChallengedQuestionId", question.Id).GetAsync <ChallengedAnswer>();

            foreach (var answer in answers)
            {
                answer.ChallengedQuestion = question;
                answer.SourceAnswer       = await _answerRepository.GetByIdAsync(answer.SourceAnswerId);
            }

            return(answers.ToList());
        }
        private void CheckQuestion(Question question, ChallengedQuestion challengedQuestion)
        {
            challengedQuestion.TotalScore = question.Answers.Count;

            var map = from expected in question.Answers
                      let actual = challengedQuestion.Answers.First(c => c.SourceAnswerId == expected.Id)
                                   select new
            {
                Expected = expected,
                Actual   = actual
            };

            challengedQuestion.UserScore = map.Count(pair => CheckAnswer(pair.Expected, pair.Actual));
        }