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

PostsForCategory() public method

Return collection of posts belongs to a particular category.
public PostsForCategory ( string categorySlug, int pageNo, int pageSize ) : IList
categorySlug string Category's url slug
pageNo int Page index
pageSize int Page size
return IList
        public IList<Post> PostsForCategory(string categorySlug, int pageNo, int pageSize)
        {
            var posts = _session.Query<Post>()
                            .Where(p => p.Published && p.Category.UrlSlug.Equals(categorySlug))
                            .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();
        }

Usage Example

Example #1
0
        public void PostForCategory_for_programming_returns_zero()
        {
            var testRepo = new BlogRepository(MockContext);
            IList<Post> result = testRepo.PostsForCategory("programming", 0, 5);

            Assert.That(result.Count, Is.EqualTo(0));
        }
All Usage Examples Of JustBlog.Core.BlogRepository::PostsForCategory