public static void ReportEngine(string filePath, string documentName) { // Debut test report engine using (var word = new WordManager()) { JsonContextConverter[] converters = { new JsonContextConverter() }; if (string.IsNullOrWhiteSpace(filePath)) { if (string.IsNullOrWhiteSpace(documentName)) { documentName = "ExampleDocument.docx"; } var template = GetTemplateDocument(); var templateJson = JsonConvert.SerializeObject(template); var templateUnserialized = JsonConvert.DeserializeObject <Document>(templateJson, new JsonSerializerSettings() { Converters = converters }); var context = GetContext(); var contextJson = JsonConvert.SerializeObject(context); var contextUnserialized = JsonConvert.DeserializeObject <ContextModel>(contextJson, new JsonSerializerSettings() { Converters = converters }); var res = word.GenerateReport(templateUnserialized, contextUnserialized, new CultureInfo("en-US")); // test ecriture fichier File.WriteAllBytes(documentName, res); } else { if (string.IsNullOrWhiteSpace(documentName)) { documentName = "ExampleDocument.docx"; } if (!documentName.EndsWith(".docx")) { documentName = string.Concat(documentName, ".docx"); } var stream = File.ReadAllText(filePath); var report = JsonConvert.DeserializeObject <Report>(stream, new JsonSerializerSettings() { Converters = converters }); var res = word.GenerateReport(report.Document, report.ContextModel, new CultureInfo("en-US")); // test ecriture fichier File.WriteAllBytes(documentName, res); } } }