Exemplo n.º 1
0
        public IEnumerable <ContentInfo3PM> SearchArticles(string tagName)
        {
            var keywords =
                tagName.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries)
                .Select(i => i.Trim())
                .Where(i => i.Length > 2).ToList();

            var tags = from tag in TagBiz.Read()
                       from k in keywords
                       where tag.Text.Contains(k)
                       select tag.Id;

            var articles = from a in ArticleBiz.ReadPublishedArticles()
                           from k in keywords
                           where a.Title.Contains(k)
                           select a.Id;

            return(ArticleBiz.ReadPublishedArticles()
                   .Where(art =>
                          art.Tags.Any(tag => tags.Contains(tag.Id)) ||
                          articles.Contains(art.Id))
                   .OrderByDescending(a => a.PublishDate)
                   .MapTo <ContentInfo3PM>()
                   .ToList());
        }
 public IEnumerable <TagPM> ReadTags(int pageIndex, int pageSize)
 {
     return(TagBiz.Read(tag => tag.Contents.Any(content => content.State == ContentState.Published), true)
            .OrderBy(tag => tag.Text)
            .Skip((pageIndex - 1) * pageSize)
            .Take(pageSize)
            .MapTo <TagPM>()
            .ToList());
 }
 public int ReadTotallTagsCount()
 {
     return(TagBiz.Read().Count());
 }