示例#1
0
        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[] { });
        }
示例#2
0
        /// <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[] { });
        }
示例#3
0
        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));
            }
        }
示例#4
0
 public BaseAuditBll()
 {
     _permissionDal = new DataPermissionDAL();
     _auditDal      = new BaseAuditDAL();
     _user2RoleDal  = new User2RoleDAL();
 }