/// <summary> /// 递归获取子节点 /// </summary> /// <param name="tree">父节点</param> /// <returns></returns> protected override List <SysCatTree> getChild(SysTree <SysCatTree> tree) { if (nodeDep < maxDep || maxDep == 0) { int dep = nodeDep + 1; using (var db = new SysModelContainer()) { List <SysCatTree> child = (from c in db.Db_SysTreeSet.OfType <Db_CatTree>().AsEnumerable() where (c.parentId == tree.Id) && (!c.isDeleted) orderby c.sort descending, c.name ascending select new SysCatTree(c.Id, maxDep, dep)).ToList(); return(child); } } else { return(new List <SysCatTree>()); } }
/// <summary> /// 获取父节点 /// </summary> /// <param name="tree"></param> protected override SysCatTree getParent(SysTree <SysCatTree> tree) { return(new SysCatTree(tree._parentId)); }
/// <summary> /// 实现获取父节点 /// </summary> /// <param name="tree"></param> protected abstract T getParent(SysTree <T> tree);
/// <summary> /// 实现递归获取子节点 /// </summary> /// <param name="tree">父节点</param> /// <returns></returns> protected abstract List <T> getChild(SysTree <T> tree);