Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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());
        }
Ejemplo n.º 3
0
        /// <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));
        }