public async Task<Dictionary<int, bool>> AreCorrect(Dictionary<int, int> questionAnswers)
 {
     var request = new CheckQuestionsAreCorrectRequest
     {
         QuestionAnswers = questionAnswers
     };
     return await _mediator.ExecuteAsync(request).ConfigureAwait(false);
 }
        public async Task <Dictionary <int, bool> > AreCorrect(Dictionary <int, int> questionAnswers)
        {
            var request = new CheckQuestionsAreCorrectRequest
            {
                QuestionAnswers = questionAnswers
            };

            return(await _mediator.ExecuteAsync(request).ConfigureAwait(false));
        }
        public async Task <Dictionary <int, bool> > HandleAsync(CheckQuestionsAreCorrectRequest request)
        {
            var result = new Dictionary <int, bool>();

            foreach (var questionAnswer in request.QuestionAnswers)
            {
                var question = await _db.Questions.FindAsync(questionAnswer.Key).ConfigureAwait(false);

                if (question == null)
                {
                    throw new NotFoundException();
                }

                result[question.Id] = question.Answers.Any(a => a.Id == questionAnswer.Value && a.IsCorrect);
            }

            return(result);
        }