public async Task <IActionResult> Get(ContactPaginationRequest request)
        {
            var friends = await _contactService.GetMyContactsAsync(request);

            var users = new List <UserResponse>();

            foreach (var friendId in friends.Data)
            {
                users.Add(await _userService.Get(friendId.FriendId));
            }

            return(Ok(users));
        }
示例#2
0
        public async Task <PaginationResponseBase <MyContacstDto> > GetMyContactsAsync(ContactPaginationRequest request)
        {
            var contactListQuery = _chatDbContext.Contacts.Where(x => x.MyId == request.UserId).AsQueryable();

            var totalCount = await contactListQuery.CountAsync();

            var contactList = await contactListQuery.Select(x => x.ToContactDto())
                              .Skip(request.Skip)
                              .Take(request.Take)
                              .ToListAsync();

            return(new ContactPaginationResponse()
            {
                Data = contactList,
                TotalCount = totalCount
            });
        }