Ejemplo n.º 1
0
        public async Task <GetUserFriendsViewModel> GetFriendsAsync(int userId, int page, int size)
        {
            var friendsList = await db.Users.Where(x => x.UserFriends.Any(z => z.FriendId == userId)).Skip((page - 1) * size)
                              .Take(size).ToListAsync();

            var count = db.Friendships.Where(x => x.UserId == userId).Select(x => x.FriendId)
                        .Count();

            var friends = new GetUserFriendsViewModel
            {
                friends = friendsList,
                Count   = count
            };

            return(friends);
        }
Ejemplo n.º 2
0
        public async Task <GetUserFriendsViewModel> GetAllUsersAsync(int page, int size, int id)
        {
            var allUsers = await db.Users.Except(db.Users.Where(x => x.Id == id)).Except(db.Users
                                                                                         .Where(x => x.UserFriends.Any(z => z.FriendId == id)))
                           .Skip((page - 1) * size)
                           .Take(size)
                           .ToListAsync();

            var count = db.Users.Except(db.Users
                                        .Where(x => x.UserFriends.Any(z => z.FriendId == id))).Count();
            var users = new GetUserFriendsViewModel
            {
                friends = allUsers,
                Count   = count
            };

            return(users);
        }