예제 #1
0
        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));
        }
예제 #3
0
 public async void Answer([FromBody] AnswerResource answer)
 {
     await _service.QuestionAnswer(answer.PlayerId, answer.QuestionId, answer.Answer, answer.dislikeReason);
 }