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()); }