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); } var topicName = HttpUtility.HtmlEncode(topic.Title); var threadID = topic.ThreadID; var threadName = topic.ThreadTitle; try { List <int> removedPostIDs; var attachmantOffsetPhysicalPaths = ForumDataProvider.RemoveTopic(TenantProvider.CurrentTenantID, topic.ID, out removedPostIDs); resp.rs1 = "1"; resp.rs3 = Resources.ForumUCResource.SuccessfullyDeleteTopicMessage; _forumManager.RemoveAttachments(attachmantOffsetPhysicalPaths.ToArray()); removedPostIDs.ForEach(idPost => CommonControlsConfigurer.FCKUploadsRemoveForItem(_forumManager.Settings.FileStoreModuleID, idPost.ToString())); var settings = ForumManager.GetSettings(settingsID); if (settings != null && settings.ActivityPublisher != null) { settings.ActivityPublisher.DeleteTopic(threadID, topicName, threadName); } } catch (Exception ex) { resp.rs1 = "0"; resp.rs3 = ex.Message.HtmlEncode(); } return(resp); }