JustBlog.Core.BlogRepository.Posts C# (CSharp) Method

Posts() public method

Return collection of posts based on pagination parameters.
public Posts ( int pageNo, int pageSize ) : IList
pageNo int Page index
pageSize int Page size
return IList
        public IList<Post> Posts(int pageNo, int pageSize)
        {
            var posts = _session.Query<Post>()
                            .Where(p => p.Published)
                            .OrderByDescending(p => p.PostedOn)
                            .Skip(pageNo * pageSize)
                            .Take(pageSize)
                            .Fetch(p => p.Category)
                            .ToList();

              var postIds = posts.Select(p => p.Id).ToList();

              return _session.Query<Post>()
            .Where(p => postIds.Contains(p.Id))
            .OrderByDescending(p => p.PostedOn)
            .FetchMany(p => p.Tags)
            .ToList();
        }

Same methods

BlogRepository::Posts ( int pageNo, int pageSize, string sortColumn, bool sortByAscending ) : IList

Usage Example

Example #1
0
 public void Get_all_posts_returns_3()
 {
     var testRepository = new BlogRepository(MockContext);
     IEnumerable<Post> result = testRepository.Posts(0, 3);
     Assert.That(result.Count(), Is.EqualTo(3));
 }