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); }
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); }
public AnswerQuestionBuilder WithQuestion(Question question) { _questionGateway.GetQuestion(question.Id).Returns(question); return(this); }
public AskQuestionCommandBuilder WithQuestionId(int questionId) { _questionGateway.GetQuestion(questionId).Result.ReturnsNull(); return(this); }