主管能够看下属的数据,这个是常常用到的一个权限,无论是大公司,仍是小公司都须要的功能。数组
经过如下2个方法,能够任意达到想要的效果了,设置简单灵活,还能递归运算下属,有时候简单好用就是硬道理。性能
#region public List<BaseUserEntity> public List<BaseUserEntity> GetListByManager(BaseUserInfo userInfo, string managerId) 按上级主管获取下属用户列表 /// <summary> /// 按上级主管获取下属用户列表 /// </summary> /// <param name="userInfo">用户主键</param> /// <param name="managerId">主管主键</param> /// <returns>用户列表</returns> public List<BaseUserEntity> GetListByManager(BaseUserInfo userInfo, string managerId) { var parameter = ServiceParameter.CreateWithMessage(userInfo , MethodBase.GetCurrentMethod() , this.serviceName , AppMessage.UserService_GetDataTableByIds); List<BaseUserEntity> entityList = new List<BaseUserEntity>(); ServiceUtil.ProcessUserCenterReadDb(userInfo, parameter, (dbHelper) => { var userManager = new BaseUserManager(dbHelper, userInfo); entityList = userManager.GetListByManager(managerId); }); return entityList; } #endregion #region public string[] GetIdsByManager(string managerId) 按上级主管获取下属用户主键数组 /// <summary> /// 按上级主管获取下属用户主键数组 /// </summary> /// <param name="userInfo">用户主键</param> /// <param name="managerId">主管主键</param> /// <returns>用户主键数组</returns> public string[] GetIdsByManager(BaseUserInfo userInfo, string managerId) { var parameter = ServiceParameter.CreateWithMessage(userInfo , MethodBase.GetCurrentMethod() , this.serviceName , AppMessage.UserService_GetDataTableByIds); string[] entityList = null; ServiceUtil.ProcessUserCenterReadDb(userInfo, parameter, (dbHelper) => { var userManager = new BaseUserManager(dbHelper, userInfo); entityList = userManager.GetIdsByManager(managerId); }); return entityList; } #endregion
感谢中通快递股份有限公司,全面应用通用权限管理系统快速开发平台,让咱们的软件愈来愈强大,愈来愈高性能。this