/// <summary> /// 给用户增加一个菜单,同时增加相应的权限 /// </summary> /// <param name="userid"></param> /// <param name="menuid"></param> //public void SetMenuShip(string userid, string menuid) //{ // User2MenuDAL u2md = new User2MenuDAL(); // User2Menu model = new User2Menu(); // model.ID = Guid.NewGuid(); // model.MenuID = menuid; // model.UserID = userid; // model.MenuID = menuid; // u2md.Add(model); // u2md.AcceptAllChange(); //} /// <summary> /// 删除用户的一个菜单,同时去除响应的权限 /// </summary> /// <param name="userid"></param> /// <param name="menuid"></param> //public void DeleteMenuShip(string userid, string menuid) //{ // User2MenuDAL u2md = new User2MenuDAL(); // var menu = u2md.GetAll().FirstOrDefault(o => o.MenuID == menuid && o.UserID == userid); // if (menu != null) // { // u2md.Delete(menu); // } // u2md.AcceptAllChange(); //} /// <summary> /// 给用户增加一个菜单,同时增加相应的权限 /// </summary> /// <param name="userid"></param> /// <param name="menuid"></param> public void SetMenuShip(string roleid, string menuid) { Menu2RoleDAL m2rdal = new Menu2RoleDAL(); Menu2Role model = new Menu2Role(); model.ID = Guid.NewGuid(); model.MenuID = menuid; model.RoleID = roleid; m2rdal.Add(model); m2rdal.AcceptAllChange(); }
/// <summary> /// 删除角色的一个菜单,同时去除响应的权限 /// </summary> /// <param name="userid"></param> /// <param name="menuid"></param> public void DeleteMenuShip(string roleid, string menuid) { Menu2RoleDAL m2rdal = new Menu2RoleDAL(); var menu = m2rdal.GetAll().FirstOrDefault(o => o.MenuID == menuid && o.RoleID == roleid); if (menu != null) { m2rdal.Delete(menu); } m2rdal.AcceptAllChange(); }
//private IEnumerable<UserMenuViewModel> GetUserMenu(string userid) //{ // MenuDAL dal = new MenuDAL(); // User2MenuDAL u2mdal = new User2MenuDAL(); // var u2mlist = u2mdal.GetAll(); // var model = dal.GetAll().Select(t => new UserMenuViewModel() // { // ID = t.ID, // Description = t.Description, // Name = t.Name, // ParentID = t.ParentID, // State = t.State, // Url = t.Url, // IsSelect = u2mlist.Any(o => o.MenuID == t.ID && o.UserID == userid) // }); // return model; //} /// <summary> /// 根据角色ID加载系统管理角色菜单 /// </summary> /// <param name="roleid">角色ID</param> /// <returns></returns> private IEnumerable <UserMenuViewModel> GetUserMenu(string roleid) { MenuDAL dal = new MenuDAL(); Menu2RoleDAL m2rdal = new Menu2RoleDAL(); var m2rlist = m2rdal.GetAll(); var model = dal.GetAll().Select(t => new UserMenuViewModel() { ID = t.ID, Description = t.Description, Name = t.Name, ParentID = t.ParentID, State = t.State, Url = t.Url, IsSelect = m2rlist.Any(o => o.MenuID == t.ID && o.RoleID == roleid) }); return(model); }
public ActionResult CurrentMenu() { User2RoleDAL urdal = new User2RoleDAL(); //根据用户ID查询角色ID var urlist = urdal.GetUser2RoleByUserId(CurrentUser.Id).Select(s => s.RoleID).ToArray(); MenuDAL dal = new MenuDAL(); Menu2RoleDAL menurole = new Menu2RoleDAL(); //User2MenuDAL u2mdal = new User2MenuDAL(); // var u2mlist = u2mdal.GetAll().Where(o => o.UserID == CurrentUser.Id); //查询所有角色菜单 var menurolelist = menurole.GetAll().Where(s => urlist.Contains(s.RoleID)); //所有菜单 var mlist = dal.GetAll().ToList(); //var currlist = from i in mlist // join j in u2mlist // on i.ID equals j.MenuID // select new MenuViewModel() // { // ID = i.ID, // Name = i.Name, // Url = i.Url, // ParentID = i.ParentID, // Icon = i.Icon, // State = i.State // }; var currlist = from i in mlist join j in menurolelist on i.ID equals j.MenuID select new MenuViewModel() { ID = i.ID, Name = i.Name, Url = i.Url, ParentID = i.ParentID, Icon = i.Icon, State = i.State }; if (currlist.Any()) { var list = currlist.Distinct(new Compare <MenuViewModel>( delegate(MenuViewModel a, MenuViewModel b) { if (null == a || null == b) { return(false); } else { return(a.Url == b.Url); } })).OrderBy(t => t.State).ToList(); return(View(list)); } else { return(View(currlist)); } }