public async Task <PublishAnswerViewModel> Handle(PublishAnswerCommand request, CancellationToken cancellationToken)
        {
            var exists = await _questionsRepository.QuestionExists(request.QuestionId);

            if (!exists)
            {
                return new PublishAnswerViewModel {
                           Message = "Question does not exist."
                }
            }
            ;

            var answer = new Answer
            {
                AnswerMarkup = request.Answer,
                DateTime     = DateTime.UtcNow,
                QuestionId   = request.QuestionId,
                UserId       = request.UserId
            };


            await _answersRepository.AddAsync(answer);

            await _unitOfWork.SaveChangesAsync(cancellationToken);

            var hasFollowers = await _questionsFollowingRepository.QuestionsHasFollowers(request.QuestionId);

            return(new PublishAnswerViewModel {
                Message = "Answer published successfully",
                HasFollowers = hasFollowers
            });
        }
    }
Ejemplo n.º 2
0
 public Task UpdateAnswersync(Answer answer)
 {
     return(_answersRepository.AddAsync(answer));
 }