/// <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!
        }
Exemplo n.º 2
0
        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
            }));
        }