protected override void BuildPageTemplateRecursive(IPageTemplate pageTemplate, string theme, RequestContext context, StringBuilder output, CursorCollection placeHolders, DirectiveCollection directives, List<IControlsContainer> controlConatiners)
        {
            controlConatiners.Add(pageTemplate);

            if (!String.IsNullOrEmpty(pageTemplate.MasterPage))
            {
                this.BuildWithMasterPage(pageTemplate.MasterPage, context, output, placeHolders, directives);
                return;
            }

            if (!String.IsNullOrEmpty(pageTemplate.ExternalPage))
            {
                this.BuildWithExternalPage(pageTemplate.ExternalPage, context, output, placeHolders, directives);
                return;
            }

            if (this.BuildTemplateFromPresentationData(pageTemplate.Presentation, theme, output, placeHolders, directives, context))
                return;

            if (pageTemplate.ParentTemplate != null)
            {
                BuildPageTemplateRecursive(pageTemplate.ParentTemplate, theme, context, output, placeHolders, directives, controlConatiners);
                return;
            }

            var defaultRootTemplate = new RootTemplate();
            defaultRootTemplate.FromString(ControlUtilities.GetSitefinityTextResource(Constants.DefaultFrontendPageTemplate));
            RootTemplate result = this.GetRootTemplate(defaultRootTemplate, context, theme);
            this.ProcessStringTemplate(result.Template, output, placeHolders, directives);
        }
        public RootTemplate ResolveTemplate(RootTemplate rootTemplate, RequestContext requestContext, string theme)
        {
            if (!rootTemplate.IsBackend)
            {
                var templatePath = HostingEnvironment.MapPath("~/RootTemplates/WebFormsHtml5.html");
                return rootTemplate.FromFile(templatePath);
            }

            return rootTemplate;
        }
Esempio n. 3
0
 public void ThrowAnException_WhenATemplateConstructorIsUsedAndArgumentIsNull()
 {
     try
     {
         var rootTemplate = new RootTemplate(null);
         Assert.Fail("ArgumentNullException should be thrown.");
     }
     catch (ArgumentNullException ex)
     {
         Assert.AreEqual("template", ex.ParamName);
     }
 }
Esempio n. 4
0
 public void ThrowAnException_WhenFromEmbeddedFileIsCalledAndNullIsPassedForResourceNameArgument()
 {
     var rootTemplate = new RootTemplate();
     try
     {
         rootTemplate.FromEmbeddedFile(null, typeof(RootTemplate));
         Assert.Fail("ArgumentNullException should be thrown.");
     }
     catch (ArgumentNullException ex)
     {
         Assert.AreEqual("resourceName", ex.ParamName);
     }
 }
Esempio n. 5
0
 public void ThrowAnException_WhenFromEmbeddedFileIsCalledAndNullIsPassedForAssemblyInfoArgument()
 {
     var rootTemplate = new RootTemplate();
     try
     {
         rootTemplate.FromEmbeddedFile("file", null);
         Assert.Fail("ArgumentNullException should be thrown.");
     }
     catch (ArgumentNullException ex)
     {
         Assert.AreEqual("assemblyInfo", ex.ParamName);
     }
 }
        protected bool BuildTemplateFromPresentationData(IEnumerable<PresentationData> presentation, string theme,
            StringBuilder output, CursorCollection placeHolders, DirectiveCollection directives, RequestContext context)
        {
            RootTemplate result = new RootTemplate();
            foreach (PresentationData item in presentation)
            {
                if (item.DataType == Presentation.HtmlDocument)
                {
                    var key = item.Theme ?? "Default";
                    if (key.Equals(theme, StringComparison.OrdinalIgnoreCase))
                    {
                        result = result.FromString(item.Data);
                        break;
                    }
                    if (string.IsNullOrEmpty(result.Template))
                        result = result.FromString(item.Data);
                }
            }

            result = this.GetRootTemplate(result, context, theme);

            if (!String.IsNullOrEmpty(result.Template))
            {
                this.ProcessStringTemplate(result.Template, output, placeHolders, directives);
                return true;
            }
            return false;
        }
        private RootTemplate GetRootTemplate(RootTemplate rootTemplate, RequestContext requestContext, string theme)
        {
            IRootTemplateResolver resolver = PowerTools.Instance
                                                       .Container
                                                       .ResolveNamed<IRootTemplateResolver>("WebForms");

            return resolver.ResolveTemplate(rootTemplate, requestContext, theme);
        }
 public RootTemplate ResolveTemplate(RootTemplate rootTemplate, RequestContext requestContext, string theme)
 {
     rootTemplate.FromString("This is test root template");
     return rootTemplate;
 }
Esempio n. 9
0
 public void ThrowAnException_WhenFromFileIsCalledAndNullIsPassedForFilePath()
 {
     var rootTemplate = new RootTemplate();
     try
     {
         rootTemplate.FromFile(null);
         Assert.Fail("ArgumentNullException should be thrown.");
     }
     catch (ArgumentNullException ex)
     {
         Assert.AreEqual("filePath", ex.ParamName);
     }
 }
Esempio n. 10
0
 public void SetTemplate_WhenATemplateConstructorIsUsedAnTemplateStringIsPassed()
 {
     var rootTemplate = new RootTemplate("abc");
     Assert.AreEqual("abc", rootTemplate.Template);
 }
Esempio n. 11
0
 public void SetTemplate_WhenFromStringMethodIsCalled()
 {
     var rootTemplate = new RootTemplate();
     rootTemplate.FromString("abc");
     Assert.AreEqual("abc", rootTemplate.Template);
 }
Esempio n. 12
0
 public void SetTemplateFromFile_WhenFromFileHasBeenCalledWithProperFilePath()
 {
     var rootTemplate = new RootTemplate();
     rootTemplate = rootTemplate.FromFile("roottemplate.txt");
     Assert.AreEqual("Root template 1", rootTemplate.Template);
 }
Esempio n. 13
0
 public void SetTemplateFromEmbeddedFile_WhenFromEmbeddedFileHasBeenCalledWithProperResourceNameAndAssemblyInfo()
 {
     var rootTemplate = new RootTemplate();
     rootTemplate = rootTemplate.FromEmbeddedFile("Sitefinity.PowerTools.Test.RootTemplates.roottemplate.txt", this.GetType());
     Assert.AreEqual("Root template 1", rootTemplate.Template);
 }
Esempio n. 14
0
 public void ReturnNull_WhenClassHasBeenCreatedWithADefaultConstructor()
 {
     var rootTemplate = new RootTemplate();
     Assert.IsNull(rootTemplate.Template);
 }
Esempio n. 15
0
 public void ThrowAnException_WhenFromStringMethodIsCalledAnNullIsPassed()
 {
     var rootTemplate = new RootTemplate();
     try
     {
         rootTemplate.FromString(null);
         Assert.Fail("ArgumentNullException should be thrown.");
     }
     catch (ArgumentNullException ex)
     {
         Assert.AreEqual("template", ex.ParamName);
     }
 }
Esempio n. 16
0
 public RootTemplate ResolveTemplate(RootTemplate rootTemplate, System.Web.Routing.RequestContext requestContext, string theme)
 {
     var filePath = HostingEnvironment.MapPath("~/RootTemplates/MvcFrontendTemplate.html");
     return rootTemplate.FromFile(filePath);
 }