private void CreateFragment(int level, List<ContentReference> parentIds, IStringFragment fragment, ContentInspectorViewModel.XhtmlStringViewModel xhtmlStringViewModel, List<string> visitorGroups) { if (fragment is PersonalizedContentFragment) { foreach (var personalizedFragment in (fragment as PersonalizedContentFragment).Fragments) { var internalFormat = fragment.InternalFormat; visitorGroups = GetVisitorGroupNames(internalFormat); CreateFragment(level, parentIds, personalizedFragment, xhtmlStringViewModel, visitorGroups); } } else { var contentFragment = fragment as ContentFragment; if (contentFragment != null) { var contentItemModel = CreateModel(contentFragment.ContentLink, visitorGroups, contentFragment.ContentGroup, level, new List<ContentReference>(parentIds)); xhtmlStringViewModel.Fragments.Add(contentItemModel); } else { xhtmlStringViewModel.Fragments.Add(new ContentInspectorViewModel.XhtmlStringContent() { Value = fragment.GetViewFormat() }); } } }
private static string FormatSingle(IStringFragment stringFragment) { if (stringFragment is ContentFragment) { return("{C}"); } return(stringFragment.GetViewFormat()); }
private void RenderFragment(IStringFragment fragment, TextWriter writer, UrlHelper urlHelper, ViewContext viewContext) { if (fragment is DynamicContentFragment) { ((DynamicContentFragment)fragment).Render(viewContext, writer); } else if (fragment is UrlFragment) { writer.Write(urlHelper.PageUrl(((UrlFragment)fragment).GetViewFormat())); } else if (fragment is PersonalizedContentFragment) { foreach (var personalizedFragment in ((PersonalizedContentFragment)fragment).Fragments.GetFilteredFragments()) { RenderFragment(personalizedFragment, writer, urlHelper, viewContext); } } else { writer.Write(fragment.GetViewFormat()); } }