public async Task <IActionResult> AddAnswerForQuestion(int questionId, [FromBody] AnswerResource answerResource) { var answer = _mapper.Map <AnswerResource, Answer>(answerResource); var userId = _userManager.GetUserId(User); if (ModelState.IsValid) { if (await _quizService.UserCanAddQuestionToQuizAsync(questionId, userId)) { answer.QuestionId = questionId; await _answerService.AddAnswerAsync(answer); return(Ok(new ApiResponse("You successfully added a new answer."))); } else { return(BadRequest(new ApiResponse( "You can't add answer to the specified question.", false))); } } else { return(BadRequest(new ApiResponse(ModelState))); } }
public async Task <IActionResult> CreateOrUpdateAnswerAsync([FromBody] AnswerResource body) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var answer = _mapper.Map <AnswerResource, Answer>(body); var response = await _answerService.CreateOrUpdateAnswerAsync(answer); if (!response.Success) { return(BadRequest(response.Message)); } var answerResource = _mapper.Map <Answer, AnswerResource>(response.Answer); return(Ok(answerResource)); }
public async void Answer([FromBody] AnswerResource answer) { await _service.QuestionAnswer(answer.PlayerId, answer.QuestionId, answer.Answer, answer.dislikeReason); }