public List <Model.ModelViews.MainPage_View> AddPageLayer(int roleid) { var res = dal.QueryWhere(d => d.SysRoleID == roleid).ToList(); var page = pagedal.QueryWhere(p => p.ParentID >= 0); foreach (var item in res) { page = page.Where(p => p.ID != item.PageID); } //查出所有没在表中的pageid var result = page.OrderBy(o => o.SortN).ToList(); var pageres = pagedal.QueryWhere(p => p.ParentID == 0); List <Model.ModelViews.MainPage_View> model = new List <Model.ModelViews.MainPage_View>(); foreach (var item in result) { //如果父类id为0 if (item.ParentID == 0) { var child = result.Where(r => r.ParentID == item.ID).ToList(); Model.ModelViews.MainPage_View view = new Model.ModelViews.MainPage_View() { Page = item, childPage = child, mark = 1 }; model.Add(view); } else { //判断查其父类有没有 var test = result.Where(r => r.ID == item.ParentID); if (test.Count() > 0) //说明有父类存在 { } else//无父类存在 { //找它的父类 var findparent = pagedal.QueryWhere(p => p.ID == item.ParentID).FirstOrDefault(); var child = result.Where(r => r.ParentID == findparent.ID).ToList(); Model.ModelViews.MainPage_View view = new Model.ModelViews.MainPage_View() { Page = findparent, childPage = child, mark = 0 }; model.Add(view); } } } var zz = model.GroupBy(m => m.Page).ToList(); var bb = model.GroupBy(m => m.Page).Select(m => m.First()).ToList(); model.Clear(); foreach (var item in bb) { model.Add(item); } return(model); }
/// <summary> /// 权限界面显示 /// </summary> /// <returns></returns> public ActionResult ConfigPre() { List <Model.ModelViews.MainPage_View> pageList = new List <Model.ModelViews.MainPage_View>(); var queryparentList = pageSer.QueryWhere(p => p.ParentID == 0); foreach (var item in queryparentList) { var res = pageSer.QueryWhere(p => p.ParentID == item.ID); Model.ModelViews.MainPage_View view = new Model.ModelViews.MainPage_View() { childPage = res, Page = item }; pageList.Add(view); } Model.VO.AuthorityPage_VO authorityPage = new Model.VO.AuthorityPage_VO(); authorityPage.SysRole = sysroleSer.QueryWhere(); authorityPage.viewList = pageList; return(View(authorityPage)); }