示例#1
0
        public async Task <IActionResult> UpdateAnswer(int id, AnswerToUpdateDto answerToUpdate)
        {
            var answer = await _repo.GetAnswerAsync(id);

            var user = await _repo.GetUserAsync(answerToUpdate.AnswererId);

            if (!answer.AnsweredBy.UserName.Equals(user.UserName))
            {
                return(BadRequest("You are not permitted"));
            }


            _mapper.Map(answerToUpdate, answer);


            if (await _repo.SaveAll())
            {
                return(Ok(answer));
            }

            throw new Exception("answer failed to update");
        }
示例#2
0
        public async Task <IActionResult> MarkBestAnswer(int id, string uid, AnswerToUpdateDto answerToUpdate)
        {
            var answer = await _repo.GetAnswerAsync(id);

            var question = await _repo.GetQuestionAsync(answerToUpdate.QuestionId);

            answer.IsBestAnswer = !answer.IsBestAnswer;

            if (!question.QuestionBy.Id.Equals(uid))
            {
                return(BadRequest("You are not permitted"));
            }


            _mapper.Map(answerToUpdate, answer);


            if (await _repo.SaveAll())
            {
                return(Ok(answer));
            }

            throw new Exception("answer failed to update");
        }