private string[] GetDataPermission(string userid) { DataPermissionDAL dataPermissionDal = new DataPermissionDAL(); User2RoleDAL user2RoleDal = new User2RoleDAL(); IQueryable <UserRole> roles = user2RoleDal.GetUser2RoleByUserId(userid); List <DataPermission> permissions = new List <DataPermission>(); foreach (var role in roles) { permissions.AddRange(dataPermissionDal.GetAll().Where(t => t.RoleID == role.RoleID)); } var permissionsId = permissions.Distinct().Select(p => p.DataPermissionID); if (permissionsId.Any()) { return(permissionsId.ToArray()); } return(new string[] { }); }
/// <summary> /// 获取所有数据权限 /// </summary> /// <param name="user"></param> /// <returns></returns> public string[] GetDataPermission(User user) { var dataPermissionDal = new DataPermissionDAL(); var user2RoleDal = new User2RoleDAL(); var roles = user2RoleDal.GetUser2RoleByUserId(user.Id); var permissions = new List <DataPermission>(); foreach (var role in roles) { permissions.AddRange(dataPermissionDal.GetAll().Where(t => t.RoleID == role.RoleID)); } var permissionsId = permissions.Distinct().Select(p => p.DataPermissionID); if (permissionsId.Any()) { return(permissionsId.ToArray()); } return(new string[] { }); }
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)); } }
public BaseAuditBll() { _permissionDal = new DataPermissionDAL(); _auditDal = new BaseAuditDAL(); _user2RoleDal = new User2RoleDAL(); }