private static void Generate(Options options) { using (var templateStream = new FileStream(options.TemplateFileName, FileMode.Open)) using (var destinationStream = new FileStream(options.TargetFileName, FileMode.Create)) { var dataDocument = XDocument.Load(options.DataFileName); var generator = new DocxGenerator(); try { DocxGeneratorSettings settings = null; if (options.ThrowException) { settings = new DocxGeneratorSettings { MissingDataMode = MissingDataMode.ThrowException }; } else if (options.PrintError) { settings = new DocxGeneratorSettings { MissingDataMode = MissingDataMode.PrintError }; } else if (options.Ignore) { settings = new DocxGeneratorSettings { MissingDataMode = MissingDataMode.Ignore }; } if (settings == null) { settings = new DocxGeneratorSettings { CreateDynamicContentTags = options.LockDynamicContent }; } else { settings.CreateDynamicContentTags = options.LockDynamicContent; } generator.GenerateDocx(templateStream, destinationStream, dataDocument, settings); } catch (Exception exception) { ErrorLog(exception, options); } } }