Esempio n. 1
0
        public List <T_TreeMenuModel> TreeChildren(List <T_TreeModel> node, int parentId)
        {
            List <T_TreeMenuModel> newnode = new List <T_TreeMenuModel>();

            var parent = node.Where(w => w.ParentId == parentId).OrderBy(b => b.Listorder).ToList();

            if (parent.Count() > 0)
            {
                foreach (var item in parent)
                {
                    T_TreeMenuModel data = new T_TreeMenuModel();
                    data.Id          = item.Id;
                    data.Name        = item.Name;
                    data.ChineseName = item.ChineseName;
                    data.Keys        = item.Keys;
                    data.Listorder   = item.Listorder;
                    data.iconCls     = item.Icon;
                    data.Icon        = item.Icon;
                    data.Enable      = item.Enable;
                    data.Url         = item.Url;
                    data.ParentId    = item.ParentId;
                    if (node.Count(w => w.ParentId == item.Id) > 0)
                    {
                        data.children = TreeChildren(node, item.Id);
                    }

                    newnode.Add(data);
                }
            }

            return(newnode);
        }
Esempio n. 2
0
        public List <T_TreeMenuModel> Tree(Dictionary <string, object> dictionary = null)
        {
            List <T_TreeMenuModel>            result      = new List <T_TreeMenuModel>();
            T_TreeMenuModel                   data        = new T_TreeMenuModel();
            List <T_TreeModel>                list        = new List <T_TreeModel>();
            Expression <Func <T_Tree, bool> > lambdaWhere = null;

            foreach (var dic in dictionary)
            {
                switch (dic.Key)
                {
                case "Enable":
                    lambdaWhere = f => f.Enable == true;
                    break;

                default:
                    break;
                }
            }


            list = dal.Filter(lambdaWhere).DTOList().ToList();

            var parent = list.Where(w => w.ParentId == null).OrderBy(b => b.Listorder).ToList();

            foreach (var item in parent)
            {
                data             = new T_TreeMenuModel();
                data.Id          = item.Id;
                data.Name        = item.Name;
                data.ChineseName = item.ChineseName;
                data.Keys        = item.Keys;
                data.Listorder   = item.Listorder;
                data.iconCls     = item.Icon;
                data.Icon        = item.Icon;
                data.Enable      = item.Enable;
                data.Url         = item.Url;
                if (list.Count(w => w.ParentId == item.Id) > 0)
                {
                    data.children = TreeChildren(list, item.Id);
                }

                result.Add(data);
            }


            return(result);
        }