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

PostsForTag() public method

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