public int ExecuteDataPlan(nDumpOptions nDumpOptions, ILogger logger, DataPlan dataPlan) { if (nDumpOptions.Export) { var queryExecutor = new QueryExecutor(nDumpOptions.SourceConnectionString); ISelectionFilteringStrategy filteringStrategy = nDumpOptions.ApplyFilters ? (ISelectionFilteringStrategy) new UseFilterIfPresentStrategy(queryExecutor, logger) : new IgnoreFilterStrategy(); var exporter = new SqlDataExporter(logger, nDumpOptions.CsvDirectory, queryExecutor, filteringStrategy); try { exporter.ExportToCsv(dataPlan.SetupScripts, dataPlan.DataSelects); } catch (nDumpApplicationException ex) { logger.Log("Export To Csv Failed.\n" + ex.StackTrace); return -1; } } if (nDumpOptions.Transform) { var transformer = new DataTransformer(nDumpOptions.SqlDirectory, nDumpOptions.CsvDirectory, logger); try { transformer.ConvertCsvToSql(dataPlan.DataSelects); } catch (nDumpApplicationException ex) { logger.Log("Export To Csv Failed.\n" + ex.StackTrace); return -1; } } if (nDumpOptions.Import) { var importer = new SqlDataImporter(logger, new QueryExecutor(nDumpOptions.TargetConnectionString), new IncrementingNumberSqlScriptFileStrategy(nDumpOptions.SqlDirectory)); try { importer.RemoveDataAndImportFromSqlFiles(dataPlan.DataSelects); } catch (nDumpApplicationException ex) { logger.Log("Import Of Sql Failed.\n" + ex.Message + "\n" + ex.StackTrace); return -1; } } return 0; }
private void LoadOptions(nDumpOptions options) { SqlScriptDirTextBox.Text = options.SqlDirectory; csvDirTextBox.Text = options.CsvDirectory; ApplyFilterCheckBox.Checked = options.ApplyFilters; ExportCheckBox.Checked = options.Export; ImportCheckBox.Checked = options.Import; exportsqlConnection.Text = options.SourceConnectionString; ImportSqlConnection.Text = options.TargetConnectionString; TransformCheckBox.Checked = options.Transform; }