Exemple #1
0
        private static void AddSchemaChildrens(DataRepositoryItem dbItem, IEnumerable <string> tableNames, IEnumerable <string> viewNames, string iconUri, string name, string databaseName)
        {
            if (!tableNames.Any() && !viewNames.Any())
            {
                return;
            }

            PostgreSchemaDataRepositoryItem schemaItem = new PostgreSchemaDataRepositoryItem();

            schemaItem.Name       = String.Format(CultureInfo.InvariantCulture, "{0}", name);
            schemaItem.SchemaName = schemaItem.Name;
            schemaItem.Icon       = new BitmapImage(new Uri(iconUri, UriKind.RelativeOrAbsolute));
            dbItem.Children.Add(schemaItem);

            AddChildrens(schemaItem, tableNames.ToList(), "/GisEditorPluginCore;component/Images/tables.png", "Tables", tmpName =>
            {
                PostgreTableDataRepositoryItem tableItem = new PostgreTableDataRepositoryItem();
                tableItem.TableName    = tmpName;
                tableItem.SchemaName   = schemaItem.Name;
                tableItem.DatabaseName = databaseName;
                return(tableItem);
            });

            AddChildrens(schemaItem, viewNames.ToList(), "/GisEditorPluginCore;component/Images/dataviews.png", "Views", tmpName =>
            {
                PostgreViewDataRepositoryItem viewItem = new PostgreViewDataRepositoryItem();
                viewItem.ViewName     = tmpName;
                viewItem.SchemaName   = schemaItem.Name;
                viewItem.DatabaseName = databaseName;
                return(viewItem);
            });
        }
        public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)
        {
            string name = string.Empty;
            MsSqlTableDataRepositoryItem   item            = value as MsSqlTableDataRepositoryItem;
            PostgreTableDataRepositoryItem postgreItem     = value as PostgreTableDataRepositoryItem;
            PostgreViewDataRepositoryItem  postgreViewItem = value as PostgreViewDataRepositoryItem;

            if (item != null)
            {
                string database = item.DatabaseName;
                name = string.Format(CultureInfo.InvariantCulture, "{0}: {1}.{2}", database, item.SchemaName, item.Name);
            }
            else if (postgreItem != null)
            {
                string database = postgreItem.DatabaseName;
                string schema   = postgreItem.SchemaName;
                name = string.Format(CultureInfo.InvariantCulture, "{0}: {1}.{2}", database, schema, postgreItem.Name);
            }
            else if (postgreViewItem != null)
            {
                string database = postgreItem.DatabaseName;
                string schema   = postgreItem.SchemaName;
                name = string.Format(CultureInfo.InvariantCulture, "{0}: {1}.{2}", database, schema, postgreItem.Name);
            }

            return(name);
        }