using MESClassLibrary.Model; using System; using System.Collections.Generic; using System.Linq; using System.Text; using MESClassLibrary.BLL.Log; using System.Reflection; using System.Data; using MESClassLibrary.DAL.User; namespace MESClassLibrary.BLL.User { public class Sys_NavMenuService { /// /// 根据userID查询用户菜单 /// /// /// public List BuilderLeftMenu(string userID) { try { List returnList = new List(); Sys_NavMenuData dal = new Sys_NavMenuData(); DataTable dt = new DataTable(); List navList = new List(); dt = dal.BuilderLeftMenu(userID); navList = Tool.ConvertTo(dt).OrderBy(p=>p.OrderNum).ToList(); foreach (Sys_NavMenuInfo item in navList) { Sys_NavMenuInfo menuItem = BuilderItem(item, navList); if (menuItem != null) returnList.Add(menuItem); } return returnList; } catch(Exception ex) { LogErrBLL.AddInfo(ex.ToString(), MethodBase.GetCurrentMethod()); return null; } } /// /// 生成菜单list /// /// /// /// /// public Sys_NavMenuInfo BuilderItem(Sys_NavMenuInfo item, List allItem) { Sys_NavMenuInfo returnItem = new Sys_NavMenuInfo(); returnItem.ItemPic = item.ItemPic; returnItem.MenuID = item.MenuID; returnItem.MenuName = item.MenuName; returnItem.OrderNum = item.OrderNum; returnItem.ParentMenuID = item.ParentMenuID; returnItem.PowerID = item.PowerID; returnItem.URLStr = item.URLStr; List subItemList = new List(); StringBuilder sb = new StringBuilder(); List subList = allItem.FindAll(p => p.ParentMenuID == item.MenuID).OrderBy(p=>p.OrderNum).ToList(); if (subList.Count > 0) { foreach (Sys_NavMenuInfo subItem in subList.OrderBy(p => p.OrderNum)) { returnItem.SubNavMenuList.Add(subItem); } } if (returnItem.SubNavMenuList.Count == 0) return null; else return returnItem; } } }