Exemplo n.º 1
0
        public static List <List <string> > GetListItems(this SubContentItems contentItems)
        {
            var returnList = new List <List <string> >();

            foreach (var relatedContent in contentItems.Content)
            {
                if (relatedContent.NodeType != "list-item")
                {
                    continue;
                }

                foreach (var content in relatedContent.Content)
                {
                    switch (content.NodeType)
                    {
                    case ParagraphNodeTypeKey:
                    case TextNodeTypeKey:
                        // do something
                        goto case HyperLinkNodeTypeKey;

                    case HyperLinkNodeTypeKey:
                        // do something else
                        ProcessNodeType(returnList, content);
                        break;

                    default:
                        ProcessListItemRelatedContentForGet(content, returnList);
                        break;
                    }
                }
            }

            return(returnList);
        }
Exemplo n.º 2
0
 private static void ProcessListNodeTypes(SubContentItems contentItem, List <ContentItem> contentItems)
 {
     if (contentItem.NodeType.NodeTypeIsList())
     {
         contentItems.Add(new ContentItem
         {
             Type       = contentItem.NodeType,
             TableValue = contentItem.GetListItems()
         });
     }
 }
Exemplo n.º 3
0
 private static void ProcessContentNodeTypes(CmsContent article, SubContentItems contentItem, List <ContentItem> contentItems)
 {
     if (contentItem.NodeType.NodeTypeIsContent())
     {
         contentItems.Add(new ContentItem
         {
             Type       = contentItem.NodeType,
             Values     = contentItem.BuildParagraph(),
             TableValue = contentItem.BuildTable(article)
         });
     }
 }
Exemplo n.º 4
0
 private static void ProcessEmbeddedAssetBlockNodeTypes(CmsContent article, SubContentItems contentItem,
                                                        List <ContentItem> contentItems)
 {
     if (contentItem.NodeType.NodeTypeIsEmbeddedAssetBlock())
     {
         contentItems.Add(new ContentItem
         {
             Type             = contentItem.NodeType,
             EmbeddedResource = article.GetEmbeddedResource(contentItem.Data.Target.Sys.Id)
         });
     }
 }
Exemplo n.º 5
0
        public static List <string> BuildParagraph(this SubContentItems contentItemContent)
        {
            var returnList = new List <string>();

            foreach (var contentDefinition in contentItemContent.Content)
            {
                ProcessTextNodeType(contentDefinition, returnList);
                ProcessParagraphNodeType(contentDefinition, returnList);
                ProcessHyperLinkNodeType(contentDefinition, returnList);
            }

            return(returnList);
        }
Exemplo n.º 6
0
        public static List <List <string> > BuildTable(this SubContentItems contentItem, CmsContent article)
        {
            var data = new List <List <string> >();

            foreach (var subContentItem in contentItem.Content)
            {
                if (subContentItem.NodeType.Equals(EmbeddedEntryInlineNodeTypeKey))
                {
                    var linkedItemId = subContentItem.Data.Target.Sys.Id;
                    var item         = article.Includes.Entry.FirstOrDefault(c => c.Sys.Id.Equals(linkedItemId, StringComparison.CurrentCultureIgnoreCase));
                    if (item != null)
                    {
                        data.AddRange(item.Fields.Table.TableData);
                    }
                }
            }

            return(data);
        }