Exemplo n.º 1
0
        public IQueryable <BaseAudit> Query(User user, Expression <Func <BaseAudit, bool> > expression)
        {
            IQueryable <UserRole> roles       = _user2RoleDal.GetUser2RoleByUserId(user.Id);
            List <DataPermission> permissions = new List <DataPermission>();

            foreach (var role in roles)
            {
                permissions.AddRange(_permissionDal.GetAll().Where(t => t.RoleID == role.RoleID));
            }

            string[] permissionsId = permissions.Distinct().Select(p => p.DataPermissionID).ToArray();

            expression = expression.And(p => permissionsId.Contains(p.DistrictID));
            expression = expression.And(p => permissionsId.Contains(p.SalesGroupID));
            //expression = expression.Or(p => p.CreateUser == user.UserName);

            return(_auditDal.GetAll().Where(expression).OrderByDescending(t => t.CreateTime));
        }
Exemplo n.º 2
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[] { });
        }
Exemplo n.º 3
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[] { });
        }
Exemplo n.º 4
0
        public ActionResult DatapermissionList(string roleid)
        {
            List <CheckBoxListModel> list = new List <CheckBoxListModel>();
            DistrictDAL       dtdal       = new DistrictDAL();
            SalesGroupDAL     sgdal       = new SalesGroupDAL();
            DictionaryDAL     dicdal      = new DictionaryDAL();
            DataPermissionDAL ddal        = new DataPermissionDAL();
            var dpuer     = ddal.GetAll().Where(t => t.RoleID == roleid).Select(t => t.DataPermissionID);
            var dataplist = dtdal.GetAll().Select(t => new { t.ID, t.Name })
                            .Union(dicdal.GetAll(t => t.ParentKey == "-ThirdPlatform").Select(t => new { ID = t.Path, Name = t.Text }))
                            .Union(sgdal.GetAll().Select(t => new { t.ID, t.Name }));

            foreach (var t in dataplist)
            {
                list.Add(new CheckBoxListModel(t.ID, t.Name, dpuer.Contains(t.ID)));
            }

            //为数据权限增加 自有资金
            list.Add(new CheckBoxListModel(CaseMode.ZiYouZiJin, "自有资金", dpuer.Contains(CaseMode.ZiYouZiJin)));
            //为数据权限增加 未选择
            list.Add(new CheckBoxListModel(CaseMode.WeiXuanZe, "未选择案件模式", dpuer.Contains(CaseMode.WeiXuanZe)));
            return(View(list));
        }