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); }
private static void ProcessListNodeTypes(SubContentItems contentItem, List <ContentItem> contentItems) { if (contentItem.NodeType.NodeTypeIsList()) { contentItems.Add(new ContentItem { Type = contentItem.NodeType, TableValue = contentItem.GetListItems() }); } }
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) }); } }
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) }); } }
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); }
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); }