using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using FineAdmin.IService; using FineAdmin.Model; namespace FineAdmin.Service { public class ItemsService : BaseService, IItemsService { public dynamic GetListByFilter(ItemsModel filter, PageInfo pageInfo) { throw new NotImplementedException(); } /// /// Items treeSelect数据列表 /// public IEnumerable GetItemsTreeSelect() { IEnumerable moduleList = BaseRepository.GetAll("Id,FullName,ParentId", "ORDER BY SortCode ASC"); var rootModuleList = moduleList.Where(x => x.ParentId == 0).OrderBy(x => x.SortCode); List treeSelectList = new List(); foreach (var item in rootModuleList) { TreeSelect tree = new TreeSelect { id = item.Id, name = item.FullName, open = false }; GetItemsChildren(treeSelectList, moduleList, tree, item.Id); treeSelectList.Add(tree); } return treeSelectList; } /// /// 递归遍历treeSelectList /// private void GetItemsChildren(List treeSelectList, IEnumerable moduleList, TreeSelect tree, int id) { var childModuleList = moduleList.Where(x => x.ParentId == id).OrderBy(x => x.SortCode); if (childModuleList != null && childModuleList.Count() > 0) { List _children = new List(); foreach (var item in childModuleList) { TreeSelect _tree = new TreeSelect { id = item.Id, name = item.FullName, open = false }; _children.Add(_tree); tree.children = _children; GetItemsChildren(treeSelectList, moduleList, _tree, item.Id); } } } } }