示例#1
0
        public async Task <List <SimplePostModel> > GetPostsById(int id)
        {
            var posts = await _context.Posts
                        .Include(x => x.User)
                        .Include(x => x.Likes)
                        .ThenInclude(x => x.User)
                        .Where(x => x.User.Id == id)
                        .ToListAsync();

            return(posts.Select(x => SimplePostModel.ConvertToSimplePostModel(x)).ToList());
        }
示例#2
0
        public async Task <List <SimplePostModel> > GetFriendPosts(User user)
        {
            var friendsIds = await _context.UserFriends
                             .Include(x => x.User)
                             .Include(x => x.Friend)
                             .Where(x => x.User.Id == user.Id)
                             .Select(x => x.FriendId)
                             .ToListAsync();

            var friendPosts = await _context.Posts
                              .Include(x => x.User)
                              .Include(x => x.Likes)
                              .ThenInclude(x => x.User)
                              .Where(x => friendsIds.Contains(x.User.Id))
                              .ToListAsync();

            return(friendPosts.Select(x => SimplePostModel.ConvertToSimplePostModel(x)).ToList());
        }