示例#1
0
        public LookupMenu(RDMPContextMenuStripArgs args, Lookup lookup) : base(args, lookup)
        {
            Add(new ExecuteCommandBrowseLookup(args.ItemActivator, lookup));

            AddGoTo <TableInfo>(lookup.Description.TableInfo_ID, "Table");
            AddGoTo <ColumnInfo>(lookup.ForeignKey_ID, "Foreign Key");
        }
示例#2
0
        public ExtractionConfigurationMenu(RDMPContextMenuStripArgs args, ExtractionConfiguration extractionConfiguration)
            : base(args, extractionConfiguration)
        {
            Items.Add("Edit", null, (s, e) => _activator.Activate <ExtractionConfigurationUI, ExtractionConfiguration>(extractionConfiguration));

            ///////////////////Change Cohorts//////////////

            Add(new ExecuteCommandRelease(_activator).SetTarget(extractionConfiguration));

            Add(new ExecuteCommandChooseCohort(_activator, extractionConfiguration));

            /////////////////Add Datasets/////////////
            Add(new ExecuteCommandAddDatasetsToConfiguration(_activator, extractionConfiguration));

            Add(new ExecuteCommandAddPackageToConfiguration(_activator, extractionConfiguration));

            Add(new ExecuteCommandGenerateReleaseDocument(_activator, extractionConfiguration));

            if (extractionConfiguration.IsReleased)
            {
                Add(new ExecuteCommandUnfreezeExtractionConfiguration(_activator, extractionConfiguration));
            }
            else
            {
                Add(new ExecuteCommandFreezeExtractionConfiguration(_activator, extractionConfiguration));
            }

            Add(new ExecuteCommandCloneExtractionConfiguration(_activator, extractionConfiguration));

            Add(new ExecuteCommandRefreshExtractionConfigurationsCohort(_activator, extractionConfiguration));

            ReBrandActivateAs("Extract...", RDMPConcept.ExtractionConfiguration, OverlayKind.Execute);
        }
示例#3
0
 public CatalogueItemMenu(RDMPContextMenuStripArgs args, CatalogueItem catalogueItem) : base(args, catalogueItem)
 {
     Add(new ExecuteCommandLinkCatalogueItemToColumnInfo(_activator, catalogueItem));
     Add(new ExecuteCommandMakeCatalogueItemExtractable(_activator, catalogueItem));
     Add(new ExecuteCommandChangeExtractionCategory(_activator, catalogueItem.ExtractionInformation));
     Add(new ExecuteCommandImportCatalogueItemDescription(_activator, catalogueItem), Keys.Control | Keys.I);
 }
示例#4
0
        public CohortIdentificationConfigurationMenu(RDMPContextMenuStripArgs args, CohortIdentificationConfiguration cic) : base(args, cic)
        {
            _cic = cic;

            Items.Add("View SQL", _activator.CoreIconProvider.GetImage(RDMPConcept.SQL), (s, e) => _activator.Activate <ViewCohortIdentificationConfigurationUI, CohortIdentificationConfiguration>(cic));

            Items.Add(new ToolStripSeparator());

            _executeAndImportCommand = new ExecuteCommandCreateNewCohortByExecutingACohortIdentificationConfiguration(_activator).SetTarget(cic);

            Add(_executeAndImportCommand);

            //associate with project
            Add(new ExecuteCommandAssociateCohortIdentificationConfigurationWithProject(_activator).SetTarget(cic));

            Items.Add(new ToolStripSeparator());

            _executeCommandClone = new ExecuteCommandCloneCohortIdentificationConfiguration(_activator).SetTarget(cic);
            Add(_executeCommandClone);

            Add(new ExecuteCommandFreezeCohortIdentificationConfiguration(_activator, cic, !cic.Frozen));

            Items.Add(new ToolStripSeparator());

            Add(new ExecuteCommandCreateNewCohortIdentificationConfiguration(_activator));

            Add(new ExecuteCommandSetQueryCachingDatabase(_activator, cic));
            Add(new ExecuteCommandCreateNewQueryCacheDatabase(_activator, cic));
        }
示例#5
0
        public DocumentationNodeMenu(RDMPContextMenuStripArgs args, DocumentationNode documentationNode) : base(args, documentationNode)
        {
            DocumentationNode = documentationNode;

            Add(new ExecuteCommandAddNewSupportingDocument(_activator, DocumentationNode.Catalogue));
            Add(new ExecuteCommandAddNewSupportingSqlTable(_activator, DocumentationNode.Catalogue));
        }
示例#6
0
 public CatalogueFolderMenu(RDMPContextMenuStripArgs args, CatalogueFolder folder) : base(args, folder)
 {
     //Things that are always visible regardless
     Add(new ExecuteCommandCreateNewCatalogueByImportingFile(_activator));
     Add(new ExecuteCommandCreateNewCatalogueByImportingExistingDataTable(_activator));
     Add(new ExecuteCommandCreateNewEmptyCatalogue(_activator));
 }
示例#7
0
        public CohortIdentificationConfigurationMenu(RDMPContextMenuStripArgs args, CohortIdentificationConfiguration cic): base(args, cic)
        {
            _cic = cic;

            Items.Add("View SQL", _activator.CoreIconProvider.GetImage(RDMPConcept.SQL), (s, e) => _activator.Activate<ViewCohortIdentificationConfigurationUI, CohortIdentificationConfiguration>(cic));
                
            Items.Add(new ToolStripSeparator());

            _executeAndImportCommand = new ExecuteCommandCreateNewCohortByExecutingACohortIdentificationConfiguration(_activator).SetTarget(cic);
            
            Add(_executeAndImportCommand);
            
            //associate with project
            Add(new ExecuteCommandAssociateCohortIdentificationConfigurationWithProject(_activator).SetTarget(cic));
            
            Items.Add(new ToolStripSeparator());

            _executeCommandClone = new ExecuteCommandCloneCohortIdentificationConfiguration(_activator).SetTarget(cic);
            Add(_executeCommandClone);

            Add(new ExecuteCommandFreezeCohortIdentificationConfiguration(_activator, cic, !cic.Frozen));
            
            Items.Add(new ToolStripSeparator());

            Add(new ExecuteCommandCreateNewCohortIdentificationConfiguration(_activator));

            if(_activator.CoreChildProvider is DataExportChildProvider dx)
                AddGoTo(()=>dx.AllProjectAssociatedCics.Where(a=>a.CohortIdentificationConfiguration_ID == cic.ID).Select(a=>a.Project).Distinct(),"Project(s)");
            
        }
示例#8
0
        public LoadDirectoryNodeMenu(RDMPContextMenuStripArgs args, LoadDirectoryNode node) : base(args, node)
        {
            args.SkipCommand <ExecuteCommandCreateNewDataLoadDirectory>();

            ReBrandActivateAs("Open In Explorer", RDMPConcept.CatalogueFolder);
            Add(new ExecuteCommandChooseLoadDirectory(_activator, node.LoadMetadata));
        }
示例#9
0
        public GovernancePeriodMenu(RDMPContextMenuStripArgs args, GovernancePeriod period)
            : base(args, period)
        {
            Add(new ExecuteCommandAddNewGovernanceDocument(_activator, period));

            AddGoTo(() => period.GovernedCatalogues, "Catalogue(s)");
        }
示例#10
0
        public CacheProgressMenu(RDMPContextMenuStripArgs args, CacheProgress cacheProgress)
            : base(args, cacheProgress)
        {
            Add(new ExecuteCommandEditCacheProgress(args.ItemActivator, cacheProgress));

            ReBrandActivateAs("Execute Caching", RDMPConcept.CacheProgress, OverlayKind.Execute);
        }
 public AggregateFilterContainerMenu(RDMPContextMenuStripArgs args, AggregateFilterContainer filterContainer)
     : base(
         new AggregateFilterFactory(args.ItemActivator.RepositoryLocator.CatalogueRepository),
         args, filterContainer)
 {
     Add(new ExecuteCommandDisableOrEnable(_activator, filterContainer));
 }
示例#12
0
        public ColumnInfoMenu(RDMPContextMenuStripArgs args, ColumnInfo columnInfo) : base(args, columnInfo)
        {
            var miViewData = new ToolStripMenuItem("View Data");

            Items.Add(miViewData);

            Add(new ExecuteCommandViewData(_activator, ViewType.TOP_100, columnInfo), Keys.None, miViewData);
            Add(new ExecuteCommandViewData(_activator, ViewType.Aggregate, columnInfo), Keys.None, miViewData);
            Add(new ExecuteCommandViewData(_activator, ViewType.Distribution, columnInfo), Keys.None, miViewData);

            Add(new ExecuteCommandAddNewLookupTableRelationship(_activator, null, columnInfo.TableInfo));

            Items.Add(new ToolStripSeparator());

            Add(new ExecuteCommandAddJoinInfo(_activator, columnInfo.TableInfo));

            Add(new ExecuteCommandAnonymiseColumnInfo(_activator, columnInfo));

            Add(new ExecuteCommandAlterColumnType(_activator, columnInfo), Keys.None, Alter);

            var miIgnore = AtomicCommandUIFactory.CreateMenuItem(new ExecuteCommandSet(_activator, columnInfo, typeof(ColumnInfo).GetProperty(nameof(ColumnInfo.IgnoreInLoads))));

            miIgnore.Checked = columnInfo.IgnoreInLoads;
            miIgnore.Text    = "Ignore In Loads";
            Items.Add(miIgnore);
        }
示例#13
0
 public AllLoadMetadatasNodeMenu(RDMPContextMenuStripArgs args, AllLoadMetadatasNode allLoadMetadatasNode) : base(args, allLoadMetadatasNode)
 {
     Add(new ExecuteCommandCreateNewLoadMetadata(_activator));
     Add(new ExecuteCommandImportShareDefinitionList(_activator)
     {
         OverrideCommandName = "Import Load"
     });
 }
示例#14
0
        public ProjectCataloguesNodeMenu(RDMPContextMenuStripArgs args, ProjectCataloguesNode node) : base(args, node)
        {
            //instead of this
            args.SkipCommand <ExecuteCommandCreateNewCatalogueByImportingFile>();

            //use our fabulous UI
            Add(new ExecuteCommandCreateNewCatalogueByImportingFileUI(_activator).SetTarget(node.Project));
        }
示例#15
0
        public ExtractableCohortMenu(RDMPContextMenuStripArgs args, ExtractableCohort cohort)
            : base(args, cohort)
        {
            _cohort = cohort;
            Items.Add("View TOP 100 identifiers", null, (s, e) => ViewTop100());

            Add(new ExecuteCommandDeprecate(args.ItemActivator, cohort, !cohort.IsDeprecated));
        }
示例#16
0
        public ParametersNodeMenu(RDMPContextMenuStripArgs args, ParametersNode parameterNode) : base(args, parameterNode)
        {
            var filter = parameterNode.Collector as ExtractionFilter;

            if (filter != null)
            {
                Items.Add(new ToolStripMenuItem("Add New 'Known Good Value(s) Set'", GetImage(RDMPConcept.ExtractionFilterParameterSet, OverlayKind.Add), (s, e) => AddParameterValueSet(filter)));
            }
        }
示例#17
0
        public ProjectMenu(RDMPContextMenuStripArgs args, Project project)
            : base(args, project)
        {
            _project = project;

            Add(new ExecuteCommandRelease(_activator).SetTarget(project));
            Add(new ExecuteCommandExecuteExtractionConfiguration(_activator).SetTarget(project));
            Add(new ExecuteCommandCreateNewCatalogueByImportingFile(_activator).SetTarget(_project));
        }
示例#18
0
        public CatalogueFolderMenu(RDMPContextMenuStripArgs args, CatalogueFolder folder) : base(args, folder)
        {
            //Things that are always visible regardless
            Add(new ExecuteCommandCreateNewCatalogueByImportingFile(_activator));
            Add(new ExecuteCommandCreateNewCatalogueByImportingExistingDataTable(_activator));
            Add(new ExecuteCommandCreateNewEmptyCatalogue(_activator));

            Add(new ExecuteCommandGenerateMetadataReport(_activator, _activator.CoreChildProvider.GetAllChildrenRecursively(folder).OfType <ICatalogue>().ToArray()));
        }
示例#19
0
        public FilterMenu(RDMPContextMenuStripArgs args, IFilter filter) : base(args, (DatabaseEntity)filter)
        {
            Add(new ExecuteCommandViewFilterMatchGraph(_activator, filter));

            Items.Add(new ToolStripSeparator());

            Add(new ExecuteCommandExportObjectsToFile(_activator, new[] { filter }));
            Add(new ExecuteCommandImportFilterDescriptionsFromShare(_activator, filter));
        }
示例#20
0
        public AllCohortsNodeMenu(RDMPContextMenuStripArgs args, AllCohortsNode node)
            : base(args, node)
        {
            Add(new ExecuteCommandShowSummaryOfCohorts(_activator));

            Add(new ExecuteCommandCreateNewCohortDatabaseUsingWizard(_activator));

            Items.Add("Create blank cohort source (Not recommended)", _activator.CoreIconProvider.GetImage(RDMPConcept.ExternalCohortTable, OverlayKind.Problem), (s, e) => AddBlankExternalCohortTable());
        }
示例#21
0
 public ArbitraryFolderNodeMenu(RDMPContextMenuStripArgs args, ArbitraryFolderNode folder) : base(args, folder)
 {
     if (folder.CommandGetter != null)
     {
         foreach (IAtomicCommand cmd in folder.CommandGetter())
         {
             Add(cmd);
         }
     }
 }
示例#22
0
        public ColumnInfoMenu(RDMPContextMenuStripArgs args, ColumnInfo columnInfo) : base(args, columnInfo)
        {
            Add(new ExecuteCommandAddNewLookupTableRelationship(_activator, null, columnInfo.TableInfo));

            Items.Add(new ToolStripSeparator());

            Add(new ExecuteCommandAddJoinInfo(_activator, columnInfo.TableInfo));

            Add(new ExecuteCommandAnonymiseColumnInfo(_activator, columnInfo));
        }
示例#23
0
        public ExtractionConfigurationMenu(RDMPContextMenuStripArgs args, ExtractionConfiguration extractionConfiguration)
            : base(args, extractionConfiguration)
        {
            _extractionConfiguration = extractionConfiguration;
            _childProvider           = (DataExportChildProvider)_activator.CoreChildProvider;

            _datasets = _childProvider.GetDatasets(extractionConfiguration).Select(n => n.ExtractableDataSet).ToArray();

            Items.Add("Edit", null, (s, e) => _activator.Activate <ExtractionConfigurationUI, ExtractionConfiguration>(extractionConfiguration));

            _importableDataSets = _childProvider.ExtractableDataSets.Except(_datasets).Where(ds => ds.Project_ID == null || ds.Project_ID == extractionConfiguration.Project_ID).ToArray();

            ///////////////////Change Cohorts//////////////

            Add(new ExecuteCommandRelease(_activator).SetTarget(extractionConfiguration));

            Add(new ExecuteCommandChooseCohort(_activator, extractionConfiguration));

            /////////////////Add Datasets/////////////
            var addDataSets = new ToolStripMenuItem("Add DataSet(s)", _activator.CoreIconProvider.GetImage(RDMPConcept.ExtractableDataSet, OverlayKind.Link), (s, e) => AddDatasetsToConfiguration());

            addDataSets.Enabled = !extractionConfiguration.IsReleased && _importableDataSets.Any();//not frozen and must be at least 1 dataset that is not in the configuration!
            Items.Add(addDataSets);

            if (_childProvider.AllPackages.Any())
            {
                var addPackageMenuItem = new ToolStripMenuItem("Add DataSet Package", _activator.CoreIconProvider.GetImage(RDMPConcept.ExtractableDataSetPackage));
                foreach (ExtractableDataSetPackage package in _childProvider.AllPackages)
                {
                    ExtractableDataSetPackage package1 = package;
                    addPackageMenuItem.DropDownItems.Add(package.Name, null, (s, e) => AddPackageToConfiguration(package1));
                }
                addPackageMenuItem.Enabled = !extractionConfiguration.IsReleased && _importableDataSets.Any();//not frozen and must be at least 1 dataset that is not in the configuration!
                Items.Add(addPackageMenuItem);
            }

            Add(new ExecuteCommandGenerateReleaseDocument(_activator, extractionConfiguration));

            var freeze = new ToolStripMenuItem("Freeze Extraction", CatalogueIcons.FrozenExtractionConfiguration, (s, e) => Freeze());

            freeze.Enabled = !extractionConfiguration.IsReleased && _datasets.Any();
            Items.Add(freeze);

            if (extractionConfiguration.IsReleased)
            {
                Add(new ExecuteCommandUnfreezeExtractionConfiguration(_activator, extractionConfiguration));
            }

            Add(new ExecuteCommandCloneExtractionConfiguration(_activator, extractionConfiguration));

            Add(new ExecuteCommandRefreshExtractionConfigurationsCohort(_activator, extractionConfiguration));

            ReBrandActivateAs("Extract...", RDMPConcept.ExtractionConfiguration, OverlayKind.Execute);
        }
示例#24
0
        public AllANOTablesNodeMenu(RDMPContextMenuStripArgs args, AllANOTablesNode node) : base(args, node)
        {
            Add(new ExecuteCommandCreateNewANOTable(_activator));

            Add(new ExecuteCommandCreateNewExternalDatabaseServer(_activator,
                                                                  new ANOStorePatcher(), PermissableDefaults.ANOStore)
            {
                OverrideCommandName = "Create ANOStore Database"
            });

            Add(new ExecuteCommandExportObjectsToFileUI(_activator, _activator.CoreChildProvider.AllANOTables));
        }
示例#25
0
        public TableInfoMenu(RDMPContextMenuStripArgs args, TableInfo tableInfo)
            : base(args, tableInfo)
        {
            Add(new ExecuteCommandCreateNewCatalogueByImportingExistingDataTable(_activator, false), Keys.None, "New");
            Add(new ExecuteCommandCreateNewCatalogueFromTableInfo(_activator, tableInfo), Keys.None, "New");

            Add(new ExecuteCommandAddNewLookupTableRelationship(_activator, null, tableInfo), Keys.None, "New");
            Add(new ExecuteCommandAddJoinInfo(_activator, tableInfo), Keys.None, "New");


            try
            {
                Add(new ExecuteCommandAlterTableName(_activator, tableInfo), Keys.None, "Alter");
                Add(new ExecuteCommandAlterTableCreatePrimaryKey(_activator, tableInfo), Keys.None, "Alter");
                Add(new ExecuteCommandAlterTableAddArchiveTrigger(_activator, tableInfo), Keys.None, "Alter");
            }
            catch (Exception ex)
            {
                _activator.GlobalErrorCheckNotifier.OnCheckPerformed(new CheckEventArgs("Failed to build Alter commands", CheckResult.Fail, ex));
            }

            Items.Add("Synchronize TableInfo ", CatalogueIcons.Sync, delegate { TableInfo_Click(tableInfo); });
            Items.Add("Synchronize ANO Configuration ", CatalogueIcons.Sync, delegate { SynchronizeANOConfiguration_Click(tableInfo); });

            Items.Add("Add ColumnInfo ", null, delegate { AddColumnInfo_Click(tableInfo); });

            _availableCredentials = RepositoryLocator.CatalogueRepository.GetAllObjects <DataAccessCredentials>();
            var addPermission = new ToolStripMenuItem("Add Credential Usage Permission", _activator.CoreIconProvider.GetImage(RDMPConcept.DataAccessCredentials, OverlayKind.Add), (s, e) => AddCredentialPermission(tableInfo));

            addPermission.Enabled = _availableCredentials.Any();
            Items.Add(addPermission);

            Items.Add(new ToolStripSeparator());
            Add(new ExecuteCommandViewData(_activator, tableInfo));

            Add(new ExecuteCommandScriptTable(_activator, tableInfo));

            Items.Add(new ToolStripSeparator());

            Items.Add("Configure Primary Key Collision Resolution ", CatalogueIcons.CollisionResolution, delegate { ConfigurePrimaryKeyCollisionResolution_Click(tableInfo); });

            Items.Add(new ToolStripSeparator());
            Items.Add(new SetDumpServerMenuItem(_activator, tableInfo));
            Add(new ExecuteCommandCreateNewPreLoadDiscardedColumn(_activator, tableInfo));
            Items.Add(new ToolStripSeparator());

            if (tableInfo != null && tableInfo.IsTableValuedFunction)
            {
                Items.Add("Configure Parameters...", _activator.CoreIconProvider.GetImage(RDMPConcept.ParametersNode), delegate { ConfigureTableInfoParameters(tableInfo); });
            }

            AddGoTo(() => tableInfo.ColumnInfos.SelectMany(c => _activator.CoreChildProvider.AllCatalogueItems.Where(ci => ci.ColumnInfo_ID == c.ID).Select(ci => ci.Catalogue)).Distinct(), "Catalogue(s)");
        }
示例#26
0
        public ExtractionConfigurationMenu(RDMPContextMenuStripArgs args, ExtractionConfiguration extractionConfiguration)
            : base(args, extractionConfiguration)
        {
            Items.Add("Edit", null, (s, e) => _activator.Activate <ExtractionConfigurationUI, ExtractionConfiguration>(extractionConfiguration));

            Add(new ExecuteCommandRelease(_activator).SetTarget(extractionConfiguration));
            Add(new ExecuteCommandRefreshExtractionConfigurationsCohort(_activator, extractionConfiguration));

            Add(new ExecuteCommandOpenExtractionDirectory(_activator, extractionConfiguration));

            ReBrandActivateAs("Extract...", RDMPConcept.ExtractionConfiguration, OverlayKind.Execute);
        }
示例#27
0
        public LoadStageNodeMenu(RDMPContextMenuStripArgs args, LoadStageNode loadStageNode) : base(args, loadStageNode)
        {
            _loadStageNode = loadStageNode;
            _mef           = _activator.RepositoryLocator.CatalogueRepository.MEF;

            args.SkipCommand <ExecuteCommandCreateNewClassBasedProcessTask>();

            AddMenu <IDataProvider>("Add Cached Data Provider", t => typeof(ICachedDataProvider).IsAssignableFrom(t));
            AddMenu <IDataProvider>("Add Data Provider", t => !typeof(ICachedDataProvider).IsAssignableFrom(t));

            AddMenu <IAttacher>("Add Attacher");
            AddMenu <IMutilateDataTables>("Add Mutilator");
        }
示例#28
0
        public CatalogueItemsNodeMenu(RDMPContextMenuStripArgs args, CatalogueItemsNode node) : base(args, node)
        {
            var iconProvider = _activator.CoreIconProvider;

            ReBrandActivateAs("Bulk Process Catalogue Items", RDMPConcept.CatalogueItem, OverlayKind.Edit);

            Add(new ExecuteCommandAddNewCatalogueItem(_activator, node.Catalogue));
            Items.Add("Paste Clipboard as new Catalogue Items", iconProvider.GetImage(RDMPConcept.Clipboard, OverlayKind.Import), (s, e) => PasteClipboardAsNewCatalogueItems(node.Catalogue));

            Add(new ExecuteCommandReOrderColumns(_activator, node.Catalogue));

            Items.Add("Guess Associated Columns From TableInfo...", iconProvider.GetImage(RDMPConcept.ExtractionInformation, OverlayKind.Problem), (s, e) => GuessAssociatedColumns(node.Catalogue));
        }
示例#29
0
        public DataAccessCredentialUsageNodeMenu(RDMPContextMenuStripArgs args, DataAccessCredentialUsageNode node) : base(args, node)
        {
            var setUsage = new ToolStripMenuItem("Set Context");

            var existingUsages = _activator.RepositoryLocator.CatalogueRepository.TableInfoCredentialsManager.GetCredentialsIfExistsFor(node.TableInfo);

            foreach (DataAccessContext context in Enum.GetValues(typeof(DataAccessContext)))
            {
                Add(new ExecuteCommandSetDataAccessContextForCredentials(_activator, node, context, existingUsages), Keys.None, setUsage);
            }

            Items.Add(setUsage);
        }
示例#30
0
        public ExternalCohortTableMenu(RDMPContextMenuStripArgs args, ExternalCohortTable externalCohortTable) : base(args, externalCohortTable)
        {
            var projectOnlyNode = args.Masquerader as CohortSourceUsedByProjectNode;

            if (projectOnlyNode != null)
            {
                Add(new ExecuteCommandShowSummaryOfCohorts(_activator, projectOnlyNode));
            }
            else
            {
                Add(new ExecuteCommandShowSummaryOfCohorts(_activator, externalCohortTable));
            }
        }