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