1: static List<Entity.OA.Department> entitiesList = null;
2:
3: internal static void Reload()
4: {
5: entitiesList = (from pc in iDepartmentsRepository.GetDepartments()
6: orderby pc.DeptName ascending
7: select pc).ToList();
8: }
9:
10: #region 树型部门列表
11: /// <summary>
12: /// 虚拟产品类别
13: /// </summary>
14: /// <returns>虚拟产品类别列表</returns>
15: public static Entity.OA.Department GetTree()
16: {
17: Reload();
18: Entity.OA.Department root = new Entity.OA.Department();
19: try
20: {
21: root = entitiesList.Single(
22: item => item.DeptID.Equals(Entity.OA.Department.ROOTID));//获取跟节点
23: GetSubs(root);
24:
25: }
26: catch (InvalidOperationException ex)
27: {
28: ex.ToString();
29: }
30: return root;
31: }
32:
33:
34: /// <summary>
35: /// 根据父对象,找到子孙树
36: /// </summary>
37: /// <param name="father">父对象</param>
38: static public void GetSubs(Entity.OA.Department father)
39: {
40: father.SubList = entitiesList.Where(item =>
41: item.ParentID.Equals(father.DeptID)).ToList();
42: father.SubList.ForEach(item =>
43: {
44: item.Father = father;
45: GetSubs(item);
46: });
47:
48: }
49: #endregion
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示