/// <summary> /// Deletes an attachment from an event /// </summary> /// <param name="Id">String id of the attachment</param> /// <param name="EventId">String Id of the event containing the attachment</param> /// <returns>Redirect to timeline view</returns> public IActionResult DeleteAttachment(string Id, string EventId) { var request = new RestRequest("TimelineEventAttachment/Delete"); DeleteAttachmentViewModel DeleteMe = new DeleteAttachmentViewModel(Id); if (!PutRequest(request, DeleteMe).Equals("OK")) //Error Handling { return(RedirectToAction("ErrorAPI")); } _toastNotification.AddWarningToastMessage("Attachment has been deleted!"); return(RedirectToAction("TimelineView", "Event", new { id = GetTimelineID(EventId) })); //returns to the Index! }
public async Task <IActionResult> DeleteAttachment([FromBody] DeleteAttachmentViewModel model, int issueId) { var attachment = Database.IssueAttachment .Where(a => a.Id == model.Id) .FirstOrDefault(); Database.Remove(attachment); int userId = int.Parse(User.Claims.First(c => c.Type == "UserId").Value); var user = Database.User .Where(u => u.Id == userId) .FirstOrDefault(); var issue = Database.Issue .Include(i => i.ProjectVersion) .Where(i => i.Id == issueId) .FirstOrDefault(); await Database.SaveChangesAsync(); ProjectActivity activity = new ProjectActivity { ProjectId = issue.ProjectVersion.ProjectId, AuthorId = userId, Content = $"File detached from issue '#{issue.Id}: {issue.Subject}'" }; Database.ProjectActivity.Add(activity); await Database.SaveChangesAsync(); return(Json(new { status = true })); }