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()); }
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 }); }