using System.Collections.Generic; using System.Linq; using Orchard.Blogs.Models; using Orchard.Core.Common.Records; using Orchard.Data; using Orchard.Models; namespace Orchard.Blogs.Services { public class BlogPostService : IBlogPostService { private readonly IContentManager _contentManager; private readonly IRepository _blogPostRepository; public BlogPostService(IContentManager contentManager, IRepository blogPostRepository) { _contentManager = contentManager; _blogPostRepository = blogPostRepository; } public BlogPost Get(Blog blog, string slug) { return _contentManager.Query() .Join().Where(rr => rr.Slug == slug) .Join().Where(cr => cr.Container == blog.Record.ContentItemRecord) .List().FirstOrDefault(); } public IEnumerable Get(Blog blog) { return _contentManager.Query() .Join().Where(cr => cr.Container == blog.Record.ContentItemRecord) .OrderByDescending(cr => cr.CreatedUtc) .List(); } public void Delete(BlogPost blogPost) { _blogPostRepository.Delete(blogPost.Record); } } }