public virtual async Task <Result <AccountInfoByLoginResponseDto> > Info() { //int uid = AuthContextService.CurrentUser.Id; if (AuthContextService.CurrentUser.Roles.Count() == 0) { return(Result <AccountInfoByLoginResponseDto> .ReFailure(ResultCodes.AccountNotExist)); } var result = await IocManager.Instance.Resolve <AccountPermissionService>() .GetPermissions(AuthContextService.CurrentUser.Roles); if (result.Account == null) { return(Result <AccountInfoByLoginResponseDto> .ReFailure(ResultCodes.AccountNotExist)); } AccountInfoByLoginResponseDto responseDto = new AccountInfoByLoginResponseDto(result.Account); if (result.Permissions.Count == 0) { return(Result <AccountInfoByLoginResponseDto> .ReSuccess(responseDto)); } //组装响应数据 responseDto.SetMenus(result.Permissions); return(Result <AccountInfoByLoginResponseDto> .ReSuccess(responseDto)); }
public async Task <Result <AccountInfoByLoginResponseDto> > Info() { int uid = this.User.UserId(); var result = await this._serviceProvider.GetRequiredService <AccountPermissionService>() .GetPermissions(uid); if (result.Account == null) { return(Result <AccountInfoByLoginResponseDto> .ReFailure(ResultCodes.AccountNotExist)); } AccountInfoByLoginResponseDto responseDto = new AccountInfoByLoginResponseDto(result.Account); if (result.Permissions.Count == 0) { return(Result <AccountInfoByLoginResponseDto> .ReSuccess(responseDto)); } //组装响应数据 responseDto.SetMenus(result.Permissions); return(Result <AccountInfoByLoginResponseDto> .ReSuccess(responseDto)); }
public async Task <Result <AccountInfoByLoginResponseDto> > Info() { int uid = this.User.UserId(); var result = await this._serviceProvider.GetRequiredService <AccountPermissionService>() .GetPermissions(uid); if (result.Account == null) { return(Result <AccountInfoByLoginResponseDto> .ReFailure(ResultCodes.AccountNotExist)); } AccountInfoByLoginResponseDto responseDto = new AccountInfoByLoginResponseDto(result.Account); if (result.Permissions.Count == 0) { return(Result <AccountInfoByLoginResponseDto> .ReSuccess(responseDto)); } //组装响应数据 result.Permissions .Where(f => f.IsNormal() && f.Type == PermissionType.Menu) .ToList() .ForEach(p => { var permissionInfo = new AccountInfoByLoginResponseDto.PermissionInfo(p); result.Permissions .Where(f => f.Type == PermissionType.Action && f.IsNormal() && f.ParentId == p.Id) .ToList() .ForEach(a => { permissionInfo.Actions.Add(new AccountInfoByLoginResponseDto.ActionInfo(a)); }); responseDto.Role.Permissions.Add(permissionInfo); }); return(Result <AccountInfoByLoginResponseDto> .ReSuccess(responseDto)); }