static void ExportData(string connectionString, string schemaPath, string exportFolderPath) { Console.WriteLine("Export Started"); var tokenSource = new CancellationTokenSource(); var serviceClient = new CrmServiceClient(connectionString); var entityRepo = new EntityRepository(serviceClient, new ServiceRetryExecutor()); var logger = new ConsoleLogger(); if (!Settings.Default.UseCsvImport) { // Json Export var fileExporterJson = new CrmFileDataExporter(logger, entityRepo, GetExportConfig(), tokenSource.Token); fileExporterJson.MigrateData(); } else { // Csv Export var schema = CrmSchemaConfiguration.ReadFromFile(schemaPath); var fileExporterCsv = new CrmFileDataExporterCsv(logger, entityRepo, GetExportConfig(), tokenSource.Token, schema); fileExporterCsv.MigrateData(); } Console.WriteLine("Export Finished"); }
public void CrmFileDataExporterTarget() { ConsoleLogger.LogLevel = 0; var orgService = ConnectionHelper.GetOrganizationalServiceTarget(); EntityRepository entityRepo = new EntityRepository(orgService, new ServiceRetryExecutor()); string folderPath = new FileInfo(Assembly.GetExecutingAssembly().Location).DirectoryName; string fetchXMLFolderPath = Path.Combine(folderPath, "TestData\\FetchXmlFolder"); CrmExporterConfig config = new CrmExporterConfig() { FetchXMLFolderPath = fetchXMLFolderPath, BatchSize = 1000, PageSize = 100, TopCount = 10000 }; DataCrmStoreReader storeReader = new DataCrmStoreReader(new ConsoleLogger(), entityRepo, config); DataFileStoreWriter storeWriter = new DataFileStoreWriter(new ConsoleLogger(), $"{DateTime.UtcNow.ToString("yyMMmmss", CultureInfo.InvariantCulture)}testexportTarget", @"TestData"); CrmFileDataExporter fileExporter = new CrmFileDataExporter(new ConsoleLogger(), storeReader, storeWriter); FluentActions.Invoking(() => fileExporter.MigrateData()) .Should() .NotThrow(); }
public void StartSingleThreadedExport(CrmExporterConfig exportConfig, ILogger logger, CancellationTokenSource cancellationToken, string connectionString) { var connectionHelper = new ConnectionHelper(); var orgService = connectionHelper.GetOrganizationalService(connectionString); logger.Info("Connectd to instance " + connectionString); var entityRepo = new EntityRepository(orgService, new ServiceRetryExecutor()); var fileExporter = new CrmFileDataExporter(logger, entityRepo, exportConfig, cancellationToken.Token); fileExporter.MigrateData(); }
public void DataExportTest() { ConsoleLogger.LogLevel = 5; var orgService = SourceService; var repo = new EntityRepository(orgService, new ServiceRetryExecutor()); var config = GetExporterConfig(); string exportConfigPath = Path.Combine(SchemaFolderPathFull, $"{ConfigPrefix}ExportConfig.json"); if (File.Exists(exportConfigPath)) { File.Delete(exportConfigPath); } config.SaveConfiguration(exportConfigPath); if (Directory.Exists(ExtractedDataPathFull)) { Directory.Delete(ExtractedDataPathFull, true); } Directory.CreateDirectory(ExtractedDataPathFull); CrmFileDataExporter fileExporter = new CrmFileDataExporter(new ConsoleLogger(), repo, config, new CancellationToken(false)); FluentActions.Invoking(() => fileExporter.MigrateData()) .Should() .NotThrow(); if (useCSV) { var schema = CrmSchemaConfiguration.ReadFromFile(SchemaPathFull); CrmFileDataExporterCsv fileExporterCsv = new CrmFileDataExporterCsv(new ConsoleLogger(), repo, config, schema, new CancellationToken(false)); FluentActions.Invoking(() => fileExporterCsv.MigrateData()) .Should() .NotThrow(); } }