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"); }
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"); }