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)); }
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 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)); }