public AjaxResponse DoDeleteAttachment(int idAttachment, int idPost, Guid settingsID) { _forumManager = ForumManager.GetForumManager(settingsID); var resp = new AjaxResponse {rs2 = idAttachment.ToString()}; var post = ForumDataProvider.GetPostByID(TenantProvider.CurrentTenantID, idPost); if (post == null) { resp.rs1 = "0"; resp.rs3 = Resources.ForumUCResource.ErrorAccessDenied; return resp; } if (!_forumManager.ValidateAccessSecurityAction(ForumAction.AttachmentDelete, post)) { resp.rs1 = "0"; resp.rs3 = Resources.ForumUCResource.ErrorAccessDenied; return resp; } try { var attachment = post.Attachments.Find(a => a.ID == idAttachment); if (attachment != null) { ForumDataProvider.RemoveAttachment(TenantProvider.CurrentTenantID, attachment.ID); _forumManager.RemoveAttachments(attachment.OffsetPhysicalPath); } resp.rs1 = "1"; resp.rs3 = Resources.ForumUCResource.SuccessfullyDeleteAttachmentMessage; } catch (Exception e) { resp.rs1 = "0"; resp.rs3 = HttpUtility.HtmlEncode(e.Message); } return resp; }
public AjaxResponse DoDeleteTopic(int idTopic, Guid settingsID) { _forumManager = ForumManager.GetForumManager(settingsID); var resp = new AjaxResponse { rs2 = idTopic.ToString() }; var topic = ForumDataProvider.GetTopicByID(TenantProvider.CurrentTenantID, idTopic); if (topic == null) { resp.rs1 = "0"; resp.rs3 = Resources.ForumUCResource.ErrorAccessDenied; return resp; } if (!_forumManager.ValidateAccessSecurityAction(ForumAction.TopicDelete, topic)) { resp.rs1 = "0"; resp.rs3 = Resources.ForumUCResource.ErrorAccessDenied; return resp; } try { List<int> removedPostIDs; var attachmantOffsetPhysicalPaths = ForumDataProvider.RemoveTopic(TenantProvider.CurrentTenantID, topic.ID, out removedPostIDs); resp.rs1 = "1"; resp.rs3 = Resources.ForumUCResource.SuccessfullyDeleteTopicMessage; resp.rs4 = topic.ThreadID.ToString(); _forumManager.RemoveAttachments(attachmantOffsetPhysicalPaths.ToArray()); removedPostIDs.ForEach(idPost => CommonControlsConfigurer.FCKUploadsRemoveForItem(_forumManager.Settings.FileStoreModuleID, idPost.ToString())); } catch (Exception ex) { resp.rs1 = "0"; resp.rs3 = ex.Message.HtmlEncode(); } return resp; }
public AjaxResponse DoDeletePost(int idPost, Guid settingsID) { _forumManager = ForumManager.GetForumManager(settingsID); var resp = new AjaxResponse {rs2 = idPost.ToString()}; var post = ForumDataProvider.GetPostByID(TenantProvider.CurrentTenantID, idPost); if (post == null) { resp.rs1 = "0"; resp.rs3 = Resources.ForumUCResource.ErrorAccessDenied; return resp; } if (!_forumManager.ValidateAccessSecurityAction(ForumAction.PostDelete, post)) { resp.rs1 = "0"; resp.rs3 = Resources.ForumUCResource.ErrorAccessDenied; return resp; } try { var result = ForumDataProvider.RemovePost(TenantProvider.CurrentTenantID, post.ID); if (result == DeletePostResult.Successfully) { resp.rs1 = "1"; resp.rs3 = Resources.ForumUCResource.SuccessfullyDeletePostMessage; _forumManager.RemoveAttachments(post); CommonControlsConfigurer.FCKUploadsRemoveForItem(_forumManager.Settings.FileStoreModuleID, idPost.ToString()); } else if (result == DeletePostResult.ReferencesBlock) { resp.rs1 = "0"; resp.rs3 = Resources.ForumUCResource.ExistsReferencesChildPosts; } else { resp.rs1 = "0"; resp.rs3 = Resources.ForumUCResource.ErrorDeletePost; } } catch (Exception e) { resp.rs1 = "0"; resp.rs3 = HttpUtility.HtmlEncode(e.Message); } return resp; }