public async Task <ActionResult> Add(AnswerCreateRequest request, CancellationToken cancel) { var command = new AnswerCreateCommand(request.QuestionId, DateTime.Now, request.Content, _markdown.TransformIntoHTML(request.Content)); var result = await _mediator.ExecuteAsync <AnswerCreateCommand, AnswerCreateCommandResult>(command, User.GetAppIdentity(), cancel); return(Redirect(Url.RouteUrl("QuestionRead", new { id = result.QuestionId, slug = result.Slug, action = "get" }) + "#ans_" + result.AnswerId)); }
public async Task <ActionResult <AnswerResponse> > Create([FromBody] AnswerCreateRequest model) { if (!this.ModelState.IsValid) { return(BadRequest()); } var asnwerId = await this.answersServices.CreateAync(model.Text, model.IsCorrect, model.QuestionId); return(new AnswerResponse { Id = asnwerId, Text = model.Text }); }
public async Task <ActionResult <AnswerGetViewModel> > PostAsync( [FromRoute] Guid questionId, [FromBody] AnswerCreateRequest request) { if (!(await _questionRepository.ExistsAsync(questionId))) { return(NotFound()); } var answer = _mapper.Map <AnswerCreateModel>(request); answer.QuestionId = questionId; answer.UserId = User.UserId().Value; var answerGetModel = await _answerService.PostAnswerAsync(answer); var answerGetViewModel = _mapper.Map <AnswerGetViewModel>(answerGetModel); answerGetViewModel.IsOwner = User.IsOwner(answerGetViewModel); answerGetViewModel.IsModerator = User.Identity.IsAuthenticated && await _userService.IsModeratorAsync(User.UserId().Value); return(CreatedAtRoute("Get", new { answerId = answerGetModel.Id, questionId }, answerGetViewModel)); }