예제 #1
0
        public async Task <BaseResponse> AddUsers([FromBody] AddUsersRequest request)
        {
            var userIds    = (await _usersRepository.GetUsersAsync()).ToList().Select(u => u.Id);
            var newUserIds = request.Ids
                             .Except(request.Ids.Intersect(userIds))
                             .Distinct()
                             .ToList();

            var newUsers = await _userSource.GetUsersInfo(newUserIds);

            foreach (var user in newUsers)
            {
                await _usersRepository.AddUserAsync(new User
                {
                    Id            = user.Id,
                    AddedDateTime = DateTime.Now,
                    FirstName     = user.FirstName,
                    LastName      = user.LastName
                });
            }

            _tracker.AddUsers(newUserIds);

            return(new BaseSuccessResponse());
        }
예제 #2
0
        public async Task <BaseResponse <UserInfo> > GetUserInfo(long id)
        {
            var user = (await _userSource.GetUsersInfo(new[] { id })).FirstOrDefault();

            if (user == null)
            {
                throw new BaseApiException("Пользователь не найден");
            }

            return(new BaseSuccessResponse <UserInfo>
            {
                Data = user
            });
        }