/// <summary> /// Create a MetaConnection in the source /// </summary> public MetaConnection AddConnection() { MetaConnection result = MetaConnection.Create(this); result.ConnectionString = DefaultConnectionString; result.Name = Helper.GetUniqueName(result.Name, (from i in Connections select i.Name).ToList()); Connections.Add(result); return(result); }
/// <summary> /// Add a default MetaConnection to the source /// </summary> public void AddDefaultConnection(Repository repository) { if (Connections.Count == 0) { //Add default connection MetaConnection connection = MetaConnection.Create(this); connection.ConnectionString = repository.Configuration.DefaultConnectionString; Connections.Add(connection); ConnectionGUID = connection.GUID; } }
/// <summary> /// Create a MetaConnection in the source /// </summary> public MetaConnection AddConnection() { MetaConnection result = MetaConnection.Create(this); result.ConnectionString = Repository.Configuration.DefaultConnectionString; result.DatabaseType = ConnectionStringEditor.GetDatabaseType(result.ConnectionString); result.Name = Helper.GetUniqueName(result.Name, (from i in Connections select i.Name).ToList()); Connections.Add(result); return(result); }
/// <summary> /// Load the available MetaSources defined in the repository /// </summary> public void LoadRepositoryMetaSources(Repository repository) { if (Loaded) { return; } foreach (var connection in Connections) { connection.IsEditable = true; } foreach (var table in MetaData.Tables) { table.IsEditable = true; } foreach (var link in MetaData.TableLinks) { link.IsEditable = true; } foreach (var join in MetaData.Joins) { join.IsEditable = true; } foreach (var itemEnum in MetaData.Enums) { itemEnum.IsEditable = true; } if (!string.IsNullOrEmpty(MetaSourceGUID)) { MetaSource source = repository.Sources.FirstOrDefault(i => i.GUID == MetaSourceGUID); if (source != null) { IsDefault = source.IsDefault; IsNoSQL = source.IsNoSQL; InitScript = source.InitScript; _metaSourceName = source.Name; foreach (var item in source.Connections) { item.Source = source; item.IsEditable = false; Connections.Add(item); } foreach (var item in source.MetaData.Tables) { item.Source = source; item.IsEditable = false; MetaData.Tables.Add(item); } foreach (var item in source.MetaData.TableLinks) { item.IsEditable = false; MetaData.TableLinks.Add(item); } foreach (var item in source.MetaData.Joins) { item.Source = source; item.IsEditable = false; MetaData.Joins.Add(item); } foreach (var item in source.MetaData.Enums) { item.Source = source; item.IsEditable = false; MetaData.Enums.Add(item); } PreSQL = source.PreSQL; PostSQL = source.PostSQL; IgnorePrePostError = source.IgnorePrePostError; } else { Report.LoadErrors += string.Format("Unable to find repository source for '{0}' (GUID {1}). Check the data source files in the repository folder.\r\n", Name, MetaSourceGUID); } } if (Connections.Count == 0) { Connections.Add(MetaConnection.Create(this)); ConnectionGUID = Connections[0].GUID; } Loaded = true; }