public void Rerender()
        {
            var model = new Model
            {
                Person = new ModelPerson {
                    FirstName = "Jane"
                },
                People = new[]
                {
                    new ModelPerson {
                        FirstName = "John"
                    },
                    new ModelPerson {
                        FirstName = "Jenny"
                    },
                },
                Images = new[]
                {
                    "number1",
                    "number2",
                    "number3",
                },
            };

            var document = this.GetResource("EmbeddedTemplate.odt");
            var template = new OpenDocumentTemplate <Model>(document);
            var images   = new Dictionary <string, byte[]>
            {
                { "logo", this.GetResource("logo.png") },
                { "logo2", this.GetResource("logo.png") },
                { "number1", this.GetResource("1.png") },
                { "number2", this.GetResource("2.png") },
                { "number3", this.GetResource("3.png") },
            };

            // warmup
            for (var i = 0; i < 10; i++)
            {
                template.Render(model, images);
            }

            // run 1
            var watch = System.Diagnostics.Stopwatch.StartNew();

            template.Render(model, images);

            watch.Stop();
            var run1 = watch.ElapsedMilliseconds;

            // run 2
            watch = System.Diagnostics.Stopwatch.StartNew();

            template.Render(model, images);

            watch.Stop();
            var run2 = watch.ElapsedMilliseconds;

            Assert.InRange(run2, 0, run1 * 2);
        }
Exemple #2
0
        public void Rerender()
        {
            var model = new Model
            {
                Person = new Model.ModelPerson {
                    FirstName = "Jane"
                },
                People = new[]
                {
                    new Model.ModelPerson {
                        FirstName = "John"
                    },
                    new Model.ModelPerson {
                        FirstName = "Jenny"
                    },
                },
                Images = new[]
                {
                    "number1",
                    "number2",
                    "number3",
                },
            };

            var document = this.GetResource("EmbeddedTemplate.odt");
            var template = new OpenDocumentTemplate <Model>(document);
            var images   = new Dictionary <string, byte[]>
            {
                { "logo", this.GetResource("logo.png") },
                { "logo2", this.GetResource("logo.png") },
                { "number1", this.GetResource("1.png") },
                { "number2", this.GetResource("2.png") },
                { "number3", this.GetResource("3.png") }
            };

            // warmup
            var result = template.Render(model, images);

            var watch = System.Diagnostics.Stopwatch.StartNew();

            result = template.Render(model, images);

            watch.Stop();
            var run1 = watch.ElapsedMilliseconds;

            watch = System.Diagnostics.Stopwatch.StartNew();

            result = template.Render(model, images);

            watch.Stop();
            var run2 = watch.ElapsedMilliseconds;

            Assert.InRange(run2, run1 * 0.8, run1 * 1.2);

            var desktopDir = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);

            File.WriteAllBytes(Path.Combine(desktopDir, "generated.odt"), result);
        }
        public void Render()
        {
            var model = new Model
            {
                Person = new ModelPerson {
                    FirstName = "Jane"
                },
                People = new[]
                {
                    new ModelPerson {
                        FirstName = "John"
                    },
                    new ModelPerson {
                        FirstName = "Jenny"
                    },
                },
                Images = new[]
                {
                    "number1",
                    "number2",
                    "number3",
                },
            };

            var document = this.GetResource("EmbeddedTemplate.odt");
            var template = new OpenDocumentTemplate <Model>(document);

            var images = new Dictionary <string, byte[]>
            {
                { "logo", this.GetResource("logo.png") },
                { "logo2", this.GetResource("logo.png") },
                { "number1", this.GetResource("1.png") },
                { "number2", this.GetResource("2.png") },
                { "number3", this.GetResource("3.png") },
            };

            var result = template.Render(model, images);

            //var desktopDir = Environment.GetFolderPath(Environment.SpecialFolder.Desktop);
            //File.WriteAllBytes(Path.Combine(desktopDir, "generated.odt"), result);

            // TODO: Check in generated document if it worked!
        }
Exemple #4
0
 public TemplateBuilder WithArguments(Type inferFromType)
 {
     this.Arguments = OpenDocumentTemplate.InferArguments(inferFromType);
     return(this);
 }
Exemple #5
0
 public TemplateBuilder WithArguments <T>()
 {
     this.Arguments = OpenDocumentTemplate.InferArguments(typeof(T));
     return(this);
 }