Exemple #1
0
        private static ColumnDescriptionItem GetExpandedColumn(OracleReference objectReference, OracleColumn column, bool isPseudocolumn)
        {
            var nullable = objectReference?.SchemaObject.GetTargetSchemaObject() is OracleView
                                ? (bool?)null
                                : column.Nullable;

            return
                (new ColumnDescriptionItem
            {
                OwnerIdentifier = objectReference?.FullyQualifiedObjectName ?? OracleObjectIdentifier.Empty,
                ColumnName = OracleCodeCompletionProvider.GetPrettyColumnName(column.Name),
                DataType = column.FullTypeName,
                Nullable = nullable,
                IsPseudocolumn = isPseudocolumn,
                IsHidden = column.Hidden
            });
        }
        private static ColumnDetailsModel BuildColumnDetailsModel(OracleDatabaseModelBase databaseModel, OracleColumnReference columnReference)
        {
            var columnOwner = columnReference.ValidObjectReference.SchemaObject.GetTargetSchemaObject().FullyQualifiedName;

            var dataModel =
                new ColumnDetailsModel
            {
                Owner             = columnOwner.ToString(),
                Name              = OracleCodeCompletionProvider.GetPrettyColumnName(columnReference.ColumnDescription.Name),
                Nullable          = columnReference.ColumnDescription.Nullable,
                Invisible         = columnReference.ColumnDescription.Hidden,
                Virtual           = columnReference.ColumnDescription.Virtual,
                IsSystemGenerated = columnReference.ColumnDescription.UserGenerated == false,
                DataType          = columnReference.ColumnDescription.FullTypeName,
                DefaultValue      = BuildDefaultValuePreview(columnReference.ColumnDescription.DefaultValue)
            };

            databaseModel.UpdateColumnDetailsAsync(columnOwner, columnReference.ColumnDescription.Name, dataModel, CancellationToken.None);

            return(dataModel);
        }
        private void ConfigureSettings()
        {
            ExecutionContext.EnsureSettingsProviderAvailable();

            _settingsModel = ExecutionContext.SettingsProvider.Settings;

            _settingsModel.IsTextInputVisible = false;

            var columnNames = FillColumnNames();

            foreach (var column in columnNames)
            {
                var isSelected = _settingsModel.UseDefaultSettings == null || !_settingsModel.UseDefaultSettings()
                                        ? _existingColumns.Contains(column.Name.ToQuotedIdentifier())
                                        : _settingsModel.UseDefaultSettings();

                var columnDescription =
                    new ColumnDescriptionItem
                {
                    DataType   = column.FullTypeName,
                    ColumnName = OracleCodeCompletionProvider.GetPrettyColumnName(column.Name),
                    IsHidden   = column.Hidden,
                    Nullable   = column.Nullable
                };

                _settingsModel.AddBooleanOption(
                    new BooleanOption
                {
                    OptionIdentifier   = column.Name.ToSimpleIdentifier(),
                    DescriptionContent = ExpandAsteriskCommand.BuildColumnOptionDescription(columnDescription),
                    Value = isSelected,
                    Tag   = column
                });
            }

            _settingsModel.Title   = "Add/Modify Columns";
            _settingsModel.Heading = _settingsModel.Title;
        }