public void DbWriterBasicTest() { // GIVEN var testDirectoryInfo = CreateTestDirectoryWithTables(out var _); var inputDirectory = testDirectoryInfo.FullName; var outputDirectory = Path.Combine(inputDirectory, "output"); var writerParameters = new DbWriterParameters() { Scanner = new DbScanner(), OutputFolder = outputDirectory, OutputHeaderLine = false, ColumnSeparator = ";", AddRefreshDateTimeColumn = false, TableFilterList = null }; // WHEN var dbWriter = new DbWriter(writerParameters); dbWriter.WriteAll(inputDirectory); // THEN OutputMatchesInput(inputDirectory, outputDirectory); }
private static void Main(string[] args) { string inputFolder; string outputFolder; List <string> tableFilterList = null; bool useConfiguration = Convert.ToBoolean(ConfigurationManager.AppSettings["UseConfiguration"]); if (StartedFromGui || useConfiguration) { inputFolder = ConfigurationManager.AppSettings["InputFolder"]; outputFolder = ConfigurationManager.AppSettings["OutputFolder"]; if (string.IsNullOrWhiteSpace(inputFolder) || string.IsNullOrWhiteSpace(outputFolder)) { MessageBox.Show("Missing input or output folder in configuration", "Copy Error", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (!string.IsNullOrWhiteSpace(ConfigurationManager.AppSettings["TableNameList"])) { tableFilterList = ConfigurationManager.AppSettings["TableNameList"]?.Split(',').ToList(); } } else { if (args.Length < 2) { Console.Error.WriteLine( "Argument Error - Usage: ParadoxDbCopier [InputFolder] [OutputFolder] [Optional comma separated Table list]"); return; } inputFolder = args[0]; outputFolder = args[1]; tableFilterList = args.Length > 2 ? args[2].Split(',').ToList() : null; } var writerParameters = new DbWriterParameters { Scanner = new DbScanner(), OutputFolder = outputFolder, ColumnSeparator = ";", AddRefreshDateTimeColumn = true, OutputHeaderLine = true, TableFilterList = tableFilterList }; var writer = new DbWriter(writerParameters); writer.WriteAll(inputFolder); }