public async Task SwitchAsync(string id, ActiveUserDto model) { var user = await _userRepo.GetAsync(id, isReadonly : false); if (user == null) { throw new IamException(HttpStatusCode.BadRequest, "用户不存在"); } user.Switch(model.IsActive); }
public async Task <ActionResult> InActive(string id, ActiveUserDto model) { string userId = User.FindFirst(JwtClaimTypes.Subject)?.Value; if (userId == id && !model.IsActive) { throw new IamException(HttpStatusCode.BadRequest, "不能禁用自己!"); } await _userService.SwitchAsync(id, model); return(Ok()); }
/// <summary> /// Получить всех залогиненных пользователей /// </summary> /// <returns></returns> public async Task <Result <List <ActiveUserDto> > > GetActive() { Result <List <UserClientDto> > result = await _userManagementServiceClient.GetActive(); if (result.IsFailure) { _logger.Warning($"GetActive. Active users not found. {result.ErrorMessage}"); return(Result.Failure <List <ActiveUserDto> >(ErrorCodes.UserNotFound)); } var activeUsers = _mapper.Map <List <UserDto> >(result.Value); var resultUsers = new List <ActiveUserDto>(); foreach (var userClientDto in activeUsers) { List <CallClientDto> actualUserCalls = await GetActualUserCalls(userClientDto.Id); var activeUserInfo = ActiveUserDto.MapFromQueueEntity(userClientDto, actualUserCalls); resultUsers.Add(activeUserInfo); } return(Result.Success(resultUsers)); }