コード例 #1
0
        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()
                    });
                }
            }
        }
コード例 #2
0
        private static string FormatSingle(IStringFragment stringFragment)
        {
            if (stringFragment is ContentFragment)
            {
                return("{C}");
            }

            return(stringFragment.GetViewFormat());
        }
コード例 #3
0
ファイル: XhtmlStringHandler.cs プロジェクト: whyleee/EPiGlue
 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());
     }
 }