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)); }