Beispiel #1
0
        public async Task <Answer> GetAcceptedAnswerByQuestionId(int questionId,
                                                                 CancellationToken cancellationToken)
        {
            var question = _questionGateway.GetQuestion(questionId).Result;
            var answers  = await _answersGateway.GetAllAnswers(cancellationToken);

            var questionAnswers = answers
                                  .Where(x => x.QuestionId == questionId)
                                  .FirstOrDefault(q => q.AnswerId == question.AcceptedAnswerId);

            return(questionAnswers);
        }
Beispiel #2
0
        public Task <Question> GetQuestion(int?id)
        {
            if (id == null)
            {
                throw new Exception("Id not found");
            }

            var question = _questionGateway.GetQuestion(id);

            if (question == null)
            {
                throw new Exception("Question Id not found");
            }
            return(question);
        }
Beispiel #3
0
 public AnswerQuestionBuilder WithQuestion(Question question)
 {
     _questionGateway.GetQuestion(question.Id).Returns(question);
     return(this);
 }
Beispiel #4
0
 public AskQuestionCommandBuilder WithQuestionId(int questionId)
 {
     _questionGateway.GetQuestion(questionId).Result.ReturnsNull();
     return(this);
 }