public AjaxResponse SaveThread(int id, int categoryID, string name, string description) { AjaxResponse resp = new AjaxResponse(); resp.rs2 = categoryID.ToString(); if (String.IsNullOrEmpty(name) || String.IsNullOrEmpty(name.Trim())) { resp.rs1 = "0"; resp.rs3 = "<div>" + Resources.ForumResource.ErrorEmptyName + "</div>"; return(resp); } try { var thread = ForumDataProvider.GetThreadByID(TenantProvider.CurrentTenantID, id); if (thread == null || !ForumManager.Instance.ValidateAccessSecurityAction(ForumAction.GetAccessForumEditor, null)) { resp.rs1 = "0"; resp.rs3 = "<div>" + Resources.ForumResource.ErrorAccessDenied + "</div>"; return(resp); } thread.Title = name.Trim(); thread.Description = description ?? ""; thread.CategoryID = categoryID; ForumDataProvider.UpdateThread(TenantProvider.CurrentTenantID, thread.ID, thread.CategoryID, thread.Title, thread.Description, thread.SortOrder); var threads = new List <Thread>(); var category = ForumDataProvider.GetCategoryByID(TenantProvider.CurrentTenantID, thread.CategoryID, out threads); resp.rs1 = "1"; resp.rs3 = ForumEditor.RenderForumCategory(category, threads); ForumActivityPublisher.EditThread(thread); } catch { resp.rs1 = "0"; resp.rs3 = "<div>" + Resources.ForumResource.ErrorAccessDenied + "</div>"; } return(resp); }
public string UpdateThreadSortOrder(string sortOrders) { try { if (!ForumManager.Instance.ValidateAccessSecurityAction(ASC.Forum.ForumAction.GetAccessForumEditor, null)) { throw new Exception(Resources.ForumResource.ErrorAccessDenied); } List <ThreadCategory> categories; List <Thread> threads; ForumDataProvider.GetThreadCategories(TenantProvider.CurrentTenantID, out categories, out threads); foreach (var categoryItem in sortOrders.Split(new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries)) { var cid = Convert.ToInt32(categoryItem.Split('@')[0]); var threadStr = categoryItem.Split('@')[1]; var category = categories.Find(c => c.ID == cid); if (category != null) { foreach (var thrItem in threadStr.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) { int tid = Convert.ToInt32(thrItem.Split(':')[0]); int order = Convert.ToInt32(thrItem.Split(':')[1]); var thread = threads.Find(t => t.ID == tid); if (thread != null) { thread.CategoryID = category.ID; thread.SortOrder = order; ForumDataProvider.UpdateThread(TenantProvider.CurrentTenantID, thread.ID, thread.CategoryID, thread.Title, thread.Description, thread.SortOrder); } } } } return("ok"); } catch (Exception e) { return(e.Message); } }