protected override void RefreshCore() { Task.Factory.StartNew(new Action(() => { PostgreConfigureInfo postgreInfo = new PostgreConfigureInfo(); Collection <string> newDbNames = PostgreSqlFeatureSource.GetDatabaseNames(Server, Port, UserName, Password); foreach (var item in newDbNames) { postgreInfo.DbaseNames.Add(item); } postgreInfo.Server = server; postgreInfo.Port = port; postgreInfo.UserName = userName; postgreInfo.Password = password; PostgreServerDataRepositoryPlugin.SyncToServerItem(postgreInfo, this); })); }
private static Collection <DatabaseModel> GetDatabaseItems(object obj) { GetDatabasesParameter tempParam = (GetDatabasesParameter)obj; if (tempParam.ResetDatabases) { try { Collection <string> databases = PostgreSqlFeatureSource.GetDatabaseNames(tempParam.ServerItem.Server, tempParam.ServerItem.Port, tempParam.ServerItem.UserName, tempParam.ServerItem.Password); tempParam.DatabaseNames.Clear(); foreach (var newDbaseName in databases) { tempParam.DatabaseNames.Add(newDbaseName); } } catch { } } Collection <DatabaseModel> result = new Collection <DatabaseModel>(); foreach (var dbName in tempParam.DatabaseNames) { DatabaseModel dbItem = new DatabaseModel(); dbItem.Name = dbName; try { string connectionString = GetConnectionString(tempParam.ServerItem, dbName); Collection <string> tableNames = PostgreSqlFeatureSource.GetTableNames(connectionString); Collection <string> viewNames = PostgreSqlFeatureSource.GetViewNames(connectionString); dbItem.TableModels.Clear(); foreach (var item in tableNames) { TableModel model = new TableModel(); model.Name = item; string pattern = string.Empty; int index = item.IndexOf(":", StringComparison.Ordinal); if (index != -1) { pattern = item.Substring(0, index); } model.SchemaName = pattern; dbItem.TableModels.Add(model); } foreach (var item in viewNames) { TableModel model = new TableModel(); model.Name = item; model.IsView = true; string pattern = string.Empty; int index = item.IndexOf(":", StringComparison.Ordinal); if (index != -1) { pattern = item.Substring(0, index); } model.SchemaName = pattern; dbItem.TableModels.Add(model); } } catch { } result.Add(dbItem); } return(result); }