public async Task <bool> IssueDetailsBestAnswerAsync(User user, IssueDetailBestAnswerFormModel issueDetailsAnswer) { try { var issueDetail = await _context.IssueDetails.FindAsync(issueDetailsAnswer.IssueDetailId); if (issueDetail is null) { throw new ExperienceManagementGlobalException(IssueServiceErrors.IssueDetailNotFoundError); } var issue = await _context.Issues.FindAsync(issueDetail.IssueId); if (issue is null) { throw new ExperienceManagementGlobalException(IssueServiceErrors.IssueNotFoundError); } if (issue.UserId != user.Id) { throw new ExperienceManagementGlobalException(IssueServiceErrors.UserChangeAnswerIssueError); } issueDetail.IsCorrectAnswer = issueDetailsAnswer.IsAnswer; _context.IssueDetails.Update(issueDetail); await _context.SaveChangesAsync(); return(issueDetailsAnswer.IsAnswer); } catch (Exception ex) { throw new ExperienceManagementGlobalException(IssueServiceErrors.ChangeAnswerIssueError, ex); } }
public async Task <IActionResult> IssueDetailsBestAnswer([FromBody] IssueDetailBestAnswerFormModel issueDetailsAnswer) { var resp = await _issueService.IssueDetailsBestAnswerAsync(HttpContext.GetUser(), issueDetailsAnswer); return(Ok(GetRequestResult(resp))); }