Ejemplo n.º 1
0
        public ISparkView Create(string name, object viewData)
        {
            SparkResourceView instance = (SparkResourceView)_sparkViewEngine.CreateInstance(new SparkViewDescriptor().AddTemplate(name));

            instance.ViewData = new ViewData(viewData);
            return(instance);
        }
Ejemplo n.º 2
0
        private string RenderView(SparkViewDescriptor descriptor)
        {
            var view     = _engine.CreateInstance(descriptor);
            var contents = view.RenderView();

            _engine.ReleaseInstance(view);
            return(contents);
        }
Ejemplo n.º 3
0
        static string RenderView(ISparkViewEngine engine, string path)
        {
            var descriptor = new SparkViewDescriptor()
                             .AddTemplate(path);

            return(engine
                   .CreateInstance(descriptor)
                   .RenderView());
        }
Ejemplo n.º 4
0
        public void LoadCompiledViews()
        {
            var descriptors = engine.LoadBatchCompilation(GetType().Assembly);

            Assert.AreEqual(2, descriptors.Count);

            var view1 = engine.CreateInstance(new SparkViewDescriptor()
                                              .SetTargetNamespace("Spark.Tests.Precompiled")
                                              .AddTemplate("Foo\\Bar.spark")
                                              .AddTemplate("Shared\\Quux.spark"));

            Assert.AreEqual(typeof(View1), view1.GetType());

            var view2 = engine.CreateInstance(new SparkViewDescriptor()
                                              .SetTargetNamespace("Spark.Tests.Precompiled")
                                              .AddTemplate("Hello\\World.spark")
                                              .AddTemplate("Shared\\Default.spark"));

            Assert.AreEqual(typeof(View2), view2.GetType());
        }
Ejemplo n.º 5
0
        private string renderTemplate(ITemplate template, params ITemplate[] templates)
        {
            templates = templates ?? Enumerable.Empty <Template>().ToArray();
            var descriptor = new SparkViewDescriptor();

            descriptor.AddTemplate(template.ViewPath);
            templates.Each(x => descriptor.AddTemplate(x.ViewPath));

            var instance = _engine.CreateInstance(descriptor);
            var writer   = new StringWriter();

            instance.RenderView(writer);
            return(writer.ToString());
        }
Ejemplo n.º 6
0
        public override void Transform(string templateName, object data, TextWriter output)
        {
            var descriptor = new SparkViewDescriptor().AddTemplate(templateName + ".spark");

            var view = (TemplateBase)_engine.CreateInstance(descriptor);

            try
            {
                view.ViewData = new ViewDataDictionary(data);
                view.RenderView(output);
            }
            finally
            {
                _engine.ReleaseInstance(view);
            }
        }
Ejemplo n.º 7
0
        private string ProcessViewTemplate(ISparkViewEngine engine, string templateName, object model)
        {
            var view = (TView)engine.CreateInstance(
                new SparkViewDescriptor()
                .AddTemplate(templateName));

            view.ReflectionSet("Model", model);

            var sb = new StringBuilder();

            using (var writer = new StringWriter(sb))
            {
                view.RenderView(writer);
            }

            return(sb.ToString());
        }
Ejemplo n.º 8
0
        static string RenderView(ISparkViewEngine engine, string path)
        {
            var descriptor = new SparkViewDescriptor()
                .AddTemplate(path);

            return engine
                .CreateInstance(descriptor)
                .RenderView();
        }
Ejemplo n.º 9
0
        public void Render(Run run, TextWriter writer)
        {
            var template = (SparkView)_engine.CreateInstance(_report);

            Render(template, run, writer);
        }
Ejemplo n.º 10
0
        private string ProcessViewTemplate(ISparkViewEngine engine, string templateName, GatheredResultSet result)
        {
            var view = (SparkView) engine.CreateInstance(
                new SparkViewDescriptor()
                    .AddTemplate(templateName));

            view.Model = result;

            var sb = new StringBuilder();
            using (var writer = new StringWriter(sb))
            {
                view.RenderView(writer);
            }

            return sb.ToString();
        }