public async Task <LayuiTablePageVO> GetAllUsersAsync(int page, int limit, string keyword) { var userSpec = new FindUserSpecification(page, limit, keyword); var countSpec = new CountUserSpecification(keyword); var userEntities = await userRepository.ListAsync(userSpec); var totalCount = await userRepository.CountAsync(countSpec); var vo = ToMenuVO(userEntities); return(new LayuiTablePageVO(vo, totalCount, 1)); }
public async Task <EditUserVO> GetUserVOAsync(Guid guid) { var userSpec = new FindUserSpecification(guid); var entity = await userRepository.FirstOrDefaultAsync(userSpec); return(new EditUserVO { DOB = entity.DOB, Id = entity.Guid, LoginName = entity.LoginName, NickName = entity.NickName, Type = entity.Type }); }
public async Task <List <Menu> > GetUserMenusAsync(Guid userId, bool includeHideMenu = false) { // 获取当前用户信息 var userSpec = new FindUserSpecification(userId); var userEntity = await _userRepository.FirstOrDefaultAsync(userSpec); if (userEntity == null) { return(new List <Menu>()); } // 获取当前用户对应的角色编码 var userRoleSpec = new FindUserRoleSpecification(userId); var userRoleEntities = await _userRoleRepository.ListAsync(userRoleSpec); var roleCodes = userRoleEntities.Select(x => x.RoleCode).ToList(); // 获取角色对应的权限编码 var rolePermissionSpec = new FindRolePermissionSpecification(roleCodes); var rolePermissionEntities = await _rolePermissionRepository.ListAsync(rolePermissionSpec); var permissionCodes = rolePermissionEntities.Select(x => x.PermissionCode).ToList(); // 获取权限对应的菜单编码 var permissonSpec = new FindPermissionSpecification(permissionCodes); var permissionEntities = await _permissionRepository.ListAsync(permissonSpec); var menuIds = permissionEntities.Select(x => x.MenuGuid); // 获取菜单 var menuSpec = new FindMenuSpecification(menuIds, IsDeleted.No, Status.Normal); var menuEntities = await _menuRepository.ListAsync(menuSpec); if (includeHideMenu) { return(menuEntities.OrderBy(x => x.Sort).ToList()); } else { return(menuEntities.Where(x => x.HideMenu == YesOrNo.No).OrderBy(x => x.Sort).ToList()); } //return ToMenuBO(menuEntities); }