Exemple #1
0
        static void Main(string[] args)
        {
            Console.WriteLine("docxtemplateenginetest, CC BY-SA 3.0, swxben.com");

            if (args.Count() != 3)
            {
                Console.WriteLine("Usage: docxtemplateenginetest <input.docx> <output.docx> \"<json input>\"");
                Console.WriteLine("Eg: docxtemplateenginetest input.docx output.docx { name: 'Software by Ben' }");
                return;
            }

            var source      = args[0];
            var destination = args[1];
            var json        = args[2];

            var data = JsonToDynamic((JToken)JsonConvert.DeserializeObject(json));

            var templateEngine = new DocXTemplateEngine();

            Console.WriteLine("Processing...");

            templateEngine.Process(source, destination, data);

            Console.WriteLine("Complete");
            Console.WriteLine();
        }
Exemple #2
0
        public void simple_value_is_replaced()
        {
            var template = "this is an " + DocXTemplateEngine.TOKEN_START + "tmpl" + DocXTemplateEngine.TOKEN_END + " template";

            var result = DocXTemplateEngine.ReplaceTemplateField(template, "tmpl", "example");

            result.ShouldBe("this is an example template");
        }
        public void typed_property_object_from_json_is_used()
        {
            var template = "Name: " + DocXTemplateEngine.TOKEN_START + "Name" + DocXTemplateEngine.TOKEN_END + ", Age: " + DocXTemplateEngine.TOKEN_START + "Age" + DocXTemplateEngine.TOKEN_END;
            var data     = JsonConvert.DeserializeObject <PersonWithProperties>("{ Name: 'Bob', Age: 26 }");

            var result = DocXTemplateEngine.ParseTemplate(template, data);

            result.ShouldBe("Name: Bob, Age: 26");
        }
        public void single_object_property_is_replaced()
        {
            var template = "Name: " + DocXTemplateEngine.TOKEN_START + "Name" + DocXTemplateEngine.TOKEN_END;
            var data     = new { Name = "John" };

            var result = DocXTemplateEngine.ParseTemplate(template, data);

            result.ShouldBe("Name: John");
        }
        public void property_not_found_is_not_replaced()
        {
            var     template = "Name: " + DocXTemplateEngine.TOKEN_START + "Name" + DocXTemplateEngine.TOKEN_END + ", Age: " + DocXTemplateEngine.TOKEN_START + "Age" + DocXTemplateEngine.TOKEN_END;
            dynamic data     = new ExpandoObject();

            data.Name = "Sam";

            var result = (string)DocXTemplateEngine.ParseTemplate(template, data);

            result.ShouldBe(string.Format("Name: Sam, Age: {0}Age{1}", DocXTemplateEngine.TOKEN_START, DocXTemplateEngine.TOKEN_END));
        }
        public void typed_field_object_is_used_with_null_field()
        {
            var template = "Name: " + DocXTemplateEngine.TOKEN_START + "Name" + DocXTemplateEngine.TOKEN_END + ", Age: " + DocXTemplateEngine.TOKEN_START + "Age" + DocXTemplateEngine.TOKEN_END;
            var data     = JsonConvert.DeserializeObject <PersonWithFields>("{ Name: 'Bob', Age: 26 }");

            data.Name = null;

            var result = DocXTemplateEngine.ParseTemplate(template, data);

            result.ShouldBe("Name: , Age: 26");
        }
        public void dynamic_object_is_used_with_null_item()
        {
            var     template = "Name: " + DocXTemplateEngine.TOKEN_START + "Name" + DocXTemplateEngine.TOKEN_END + ", Age: " + DocXTemplateEngine.TOKEN_START + "Age" + DocXTemplateEngine.TOKEN_END;
            dynamic data     = new ExpandoObject();

            data.Name = "Maxi";
            data.Age  = null;

            var result = (string)DocXTemplateEngine.ParseTemplate(template, data);

            result.ShouldBe("Name: Maxi, Age: ");
        }
        public void data_properties_are_used()
        {
            var template = "Name: " + DocXTemplateEngine.TOKEN_START + "Name" + DocXTemplateEngine.TOKEN_END + ", Age: " + DocXTemplateEngine.TOKEN_START + "Age" + DocXTemplateEngine.TOKEN_END;
            var data     = new PersonWithProperties
            {
                Name = "Sam",
                Age  = 29
            };

            var result = DocXTemplateEngine.ParseTemplate(template, data);

            result.ShouldBe("Name: Sam, Age: 29");
        }
        public void multiple_object_properties_are_replaced()
        {
            var template = "Name: " + DocXTemplateEngine.TOKEN_START + "Name" + DocXTemplateEngine.TOKEN_END + ", Age: " + DocXTemplateEngine.TOKEN_START + "Age" + DocXTemplateEngine.TOKEN_END;
            var data     = new
            {
                Name = "Ben",
                Age  = 32
            };

            var result = DocXTemplateEngine.ParseTemplate(template, data);

            result.ShouldBe("Name: Ben, Age: 32");
        }