public async Task <AnswerDTO> AddAnswer(int questionId, string body, int userId) { var dateTime = DateTime.Now; var answer = new Answer() { AuthorId = userId, IsAnswer = false, QuestionId = questionId, Votes = 0, DateOfPublication = dateTime, Body = body }; await _answerRepository.CreateAsync(answer); await _unitOfWork.Commit(); answer = await _answerRepository.GetByDate(userId, dateTime); return(_mapper.Map <AnswerDTO>(answer)); }
public async Task <CreateAnswerResult> CreateAnswerAsync(CreateAnswerCommand command) { ThrowIfDisposed(); QuestionEntity question = await QuestionRepository.GetQuestionAsync(command.QuestionId, CancellationToken); if (question == null || question.IsClosed || !question.IsVerified) { return(new CreateAnswerResult(new Error("Can't create answer", "Question is not valid."))); } AnswerEntity answerEntity = new AnswerEntity() { Description = command.Description, CreateDateTimeUTC = DateTime.UtcNow, QuestionId = question.QuestionId }; await AnswerRepository.CreateAsync(answerEntity, CancellationToken); return(new CreateAnswerResult(answerEntity.QuestionId)); }