public async Task <bool> DeleteIssueDetailAttachmentsAsync(User user, DeleteIssueDetailAttachmentFormModel issueDetailAttachmentForm) { try { var IssueDetail = await _context.IssueDetails.Include(x => x.IssueDetailAttachments).FirstOrDefaultAsync(x => x.Id == issueDetailAttachmentForm.IssueDetailId); if (IssueDetail is null) { throw new ExperienceManagementGlobalException(IssueServiceErrors.IssueDetailNotFoundError); } var issueDetailAttachment = IssueDetail.IssueDetailAttachments.FirstOrDefault(x => x.FileId == issueDetailAttachmentForm.FileId); if (issueDetailAttachment is null) { throw new ExperienceManagementGlobalException(IssueServiceErrors.IssueDetailAttachmentNotFoundError); } _context.IssueDetailAttachments.Remove(issueDetailAttachment); var file = _context.FileAddresses.FirstOrDefault(x => x.FileId == issueDetailAttachmentForm.FileId); if (file != null) { _context.FileAddresses.Remove(file); } await _context.SaveChangesAsync(); return(true); } catch (Exception ex) { throw new ExperienceManagementGlobalException(IssueServiceErrors.DeleteIssueDetailAttachmentsError, ex); } }
public async Task <IActionResult> DeleteIssueDetailAttachment([FromBody] DeleteIssueDetailAttachmentFormModel issueDetailAttachmentForm) { var resp = await _issueService.DeleteIssueDetailAttachmentsAsync(HttpContext.GetUser(), issueDetailAttachmentForm); return(Ok(GetRequestResult(resp))); }