public DataTable ProcessPipelineData(DataTable toProcess, IDataLoadEventListener listener, GracefulCancellationToken cancellationToken) { toProcess.TableName = GetTableName(); toProcess.ExtendedProperties.Add("ProperlyNamed", true); var extractDatasetCommand = _request as ExtractDatasetCommand; if (extractDatasetCommand != null) { var catalogue = extractDatasetCommand.Catalogue; var sourceFolder = _request.GetExtractionDirectory(); if (sourceFolder == null) { throw new Exception("Could not find Source Folder. Does the project have an Extraction Directory defined?"); } var outputFolder = sourceFolder.Parent.CreateSubdirectory(ExtractionDirectory.METADATA_FOLDER_NAME); var outputFile = new FileInfo(Path.Combine(outputFolder.FullName, toProcess.TableName + ".sd")); catalogue.Name = toProcess.TableName; var cmd = new ExecuteCommandExportObjectsToFile(_activator, catalogue, outputFile); cmd.Execute(); catalogue.RevertToDatabaseState(); } return(toProcess); }
public ReleaseAudit ProcessPipelineData(ReleaseAudit toProcess, IDataLoadEventListener listener, GracefulCancellationToken cancellationToken) { var allCatalogues = _releaseData.SelectedDatasets.Values.SelectMany(sd => sd.ToList()) .Select(sds => sds.ExtractableDataSet.Catalogue) .Distinct() .Cast <IMapsDirectlyToDatabaseTable>() .ToArray(); if (!allCatalogues.Any()) { listener.OnNotify(this, new NotifyEventArgs(ProgressEventType.Warning, "No Catalogues are selected for release")); return(toProcess); } var sourceFolder = _releaseData.ConfigurationsForRelease.First().Value.First().ExtractDirectory.Parent; if (sourceFolder == null) { throw new Exception("Could not find Source Folder. DOes the project have an Extraction Directory defined?"); } var outputFolder = sourceFolder.CreateSubdirectory(ExtractionDirectory.METADATA_FOLDER_NAME); var cmd = new ExecuteCommandExportObjectsToFile(_activator, allCatalogues, outputFolder); cmd.Execute(); return(toProcess); }
public override void Execute() { base.Execute(); if (_cmd.IsSingleObject) { //Extract a single object (to file) if (_cmd.TargetFileInfo == null) { var sfd = new SaveFileDialog(); sfd.Filter = "Share Definition|*.sd"; sfd.FileName = _toExport.Single() + ".sd"; if (sfd.ShowDialog() == DialogResult.OK) { _cmd.TargetFileInfo = new FileInfo(sfd.FileName); } else { return; } } } else { if (_cmd.TargetDirectoryInfo == null) { var fb = new FolderBrowserDialog(); if (fb.ShowDialog() == DialogResult.OK) { _cmd.TargetDirectoryInfo = new DirectoryInfo(fb.SelectedPath); } else { return; } } } _cmd.Execute(); if (ShowInExplorer && _cmd.TargetDirectoryInfo != null) { UsefulStuff.GetInstance().ShowFolderInWindowsExplorer(_cmd.TargetDirectoryInfo); } }
private void btnSavePlan_Click(object sender, EventArgs e) { SaveFileDialog sfd = new SaveFileDialog(); sfd.Filter = "Plans (*.plan)|*.plan"; if (sfd.ShowDialog() == DialogResult.OK) { var fi = new FileInfo(sfd.FileName); var cmdAnoTablesToo = new ExecuteCommandExportObjectsToFile(Activator, Activator.RepositoryLocator.CatalogueRepository.GetAllObjects <ANOTable>().ToArray(), fi.Directory); cmdAnoTablesToo.ShowInExplorer = false; if (!cmdAnoTablesToo.IsImpossible) { cmdAnoTablesToo.Execute(); } var json = JsonConvertExtensions.SerializeObject(_planManager, Activator.RepositoryLocator); File.WriteAllText(fi.FullName, json); } }