/// <summary> /// 删除栏目,如果有小栏目未删除则返回false /// </summary> /// <param name="lft"></param> /// <returns></returns> public bool Delete(int lft) { //用于拼接栏目ID StringBuilder sb = new StringBuilder(); //获取栏目 Category category = this.Get(a => a.Lft == lft); if (category == null) { return(false); } int siteId = category.SiteID; sb.Append(category.ID.ToString()); this.HandleCategoryTree(category.Name, (c, level) => { sb.Append(",").Append(c.ID.ToString()); }); if (adal.GetCategoryArchivesCount(sb.ToString()) != 0) { return(false); } else { /* * 删除所有子节点? * DELETE FROM `tree` WHERE `left_node`>父节点的左值 AND `right_node`>父节点的右值 * 9、删除一个节点及其子节点? * 在上例中的<号>号后面各加一个=号 */ int rgt = category.Rgt; bool result = dal.Delete(0, lft); if (result) { //更新删除的左右值 dal.UpdateDeleteLftRgt(siteId, lft, rgt); //删除视图设置 TemplateBindBLL tb = new TemplateBindBLL(); tb.RemoveErrorCategoryBind(); //tb.RemoveBind(TemplateBindType.CategoryTemplate, lft.ToString()); //tb.RemoveBind(TemplateBindType.CategoryArchiveTemplate, lft.ToString()); //重建缓存 this.RebuildCache(); } return(result); } }
/// <summary> /// 删除栏目,如果有小栏目未删除则返回false /// </summary> /// <param name="lft"></param> /// <returns></returns> public bool Delete(int lft) { //用于拼接栏目ID StringBuilder sb = new StringBuilder(); //获取栏目 Category category = this.Get(a => a.Lft == lft); if (category == null) { return false; } int siteId = category.SiteID; sb.Append(category.ID.ToString()); this.HandleCategoryTree(category.Name, (c, level) => { sb.Append(",").Append(c.ID.ToString()); }); if (adal.GetCategoryArchivesCount(sb.ToString()) != 0) { return false; } else { /* * 删除所有子节点? * DELETE FROM `tree` WHERE `left_node`>父节点的左值 AND `right_node`>父节点的右值 * 9、删除一个节点及其子节点? * 在上例中的<号>号后面各加一个=号 */ int rgt=category.Rgt; bool result = dal.Delete(0,lft); if (result) { //更新删除的左右值 dal.UpdateDeleteLftRgt(siteId,lft, rgt); //删除视图设置 TemplateBindBLL tb = new TemplateBindBLL(); tb.RemoveErrorCategoryBind(); //tb.RemoveBind(TemplateBindType.CategoryTemplate, lft.ToString()); //tb.RemoveBind(TemplateBindType.CategoryArchiveTemplate, lft.ToString()); //重建缓存 this.RebuildCache(); } return result; } }