Example #1
0
        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);
        }
Example #2
0
        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);
        }