示例#1
0
文件: TagEngine.cs 项目: vdwert/Tags
        public IEnumerable <ContentData> GetContentsByTag(Tag tag)
        {
            if (tag == null)
            {
                return(Enumerable.Empty <ContentData>());
            }

            var contentLinks = new List <Guid>();

            if (tag.PermanentLinks == null)
            {
                var tempTerm = _tagService.GetTagByNameAndGroup(tag.Name, tag.GroupKey);

                if (tempTerm != null)
                {
                    contentLinks = tempTerm.PermanentLinks.ToList();
                }
            }
            else
            {
                contentLinks = tag.PermanentLinks.ToList();
            }

            var contentReferences = TagsHelper.GetContentReferences(contentLinks);

            return(contentReferences
                   .Select(contentLink => _contentLoader.Get <ContentData>(contentLink))
                   .ToList());
        }