/// <summary> /// 获取权限内的所有的菜单列表 /// </summary> /// <param name="sysUser"></param> /// <returns></returns> private List <Category> GerMyCategoryList(SysUser sysUser) { var list = this._categoryService.GetAll(); if (list == null) { return(null); } if (sysUser.IsAdmin) { return(list); } //获取权限数据 var sysUserRoles = _sysUserRoleService.GetAll();//获取所有的用户角色信息 if (sysUserRoles == null || !sysUserRoles.Any()) { return(null); } //获取当前用户所有的角色信息 var roleIds = sysUserRoles.Where(o => o.UserId == sysUser.Id).Select(x => x.RoleId).Distinct().ToList(); var sysPermissions = _sysPermissionService.GetAll();//获取所有的用户角色权限信息 if (sysPermissions == null || !sysPermissions.Any()) { return(null); } var categoryIds = sysPermissions.Where(o => roleIds.Contains(o.RoleId)).Select(o => o.CategoryId).Distinct().ToList(); if (!categoryIds.Any()) { return(null); } list = list.Where(o => categoryIds.Contains(o.Id)).ToList(); return(list); }
public List <Category> GetMyCategories() { var cateList = _categoryService.GetAll(); var user = GetCurrentUser(); if (user == null) { return(null); } if (user.IsAdmin) { return(cateList); } var roleList = _sysUserRoleService.GetAll(); if (roleList == null || roleList?.Count <= 0) { return(null); } var roleIds = roleList.Where(o => o.UserId == user.UserGuid).Select(x => x.RoleId).Distinct().ToList(); var permissionList = _sysPermissionService.GetAll(); if (permissionList == null || permissionList.Count <= 0) { return(null); } var list = permissionList.Where(o => roleIds.Contains(o.RoleId)).Select(x => x.CategoryId).Distinct().ToList(); if (list.Count <= 0) { return(null); } var result = cateList.Where(o => list.Contains(o.Id)).Distinct().ToList(); return(result); }
/// <summary> /// 私有方法,获取当前用户的方法数据 /// </summary> /// <param name="user"></param> /// <returns></returns> private List <Entities.Category> getMyCategories(Entities.SysUser user) { var list = _categoryService.GetAll(); if (user == null) { return(null); } if (user.IsAdmin) { return(list); } //获取权限数据 var userRoles = _sysUserRoleService.GetAll(); if (userRoles == null || !userRoles.Any()) { return(null); } var roleIds = userRoles.Where(o => o.UserId == user.Id).Select(x => x.RoleId).Distinct().ToList(); var permissionList = _sysPermissionServices.GetAll(); if (permissionList == null || !permissionList.Any()) { return(null); } var categoryIds = permissionList.Where(o => roleIds.Contains(o.RoleId)).Select(x => x.CategoryId).Distinct().ToList(); if (!categoryIds.Any()) { return(null); } list = list.Where(o => categoryIds.Contains(o.Id)).ToList(); return(list); }