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);
        }
示例#2
0
        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);
            }
        }