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); }
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! }
public TemplateBuilder WithArguments(Type inferFromType) { this.Arguments = OpenDocumentTemplate.InferArguments(inferFromType); return(this); }
public TemplateBuilder WithArguments <T>() { this.Arguments = OpenDocumentTemplate.InferArguments(typeof(T)); return(this); }