/// <summary> /// Reads an existing cohort database reference out of the metadata repository database /// </summary> /// <param name="repository"></param> /// <param name="r"></param> internal ExternalCohortTable(IDataExportRepository repository, DbDataReader r) : base(repository, r) { Name = r["Name"] as string; var databaseType = (DatabaseType)Enum.Parse(typeof(DatabaseType), r["DatabaseType"].ToString()); SelfCertifyingDataAccessPoint = new SelfCertifyingDataAccessPoint(((DataExportRepository)repository).CatalogueRepository, databaseType); Server = r["Server"] as string; Username = r["Username"] as string; Password = r["Password"] as string; Database = r["Database"] as string; var syntaxHelper = GetQuerySyntaxHelper(); TableName = syntaxHelper.EnsureFullyQualified(Database, null, r["TableName"] as string); DefinitionTableForeignKeyField = syntaxHelper.EnsureFullyQualified(Database, null, TableName, r["DefinitionTableForeignKeyField"] as string); DefinitionTableName = syntaxHelper.EnsureFullyQualified(Database, null, r["DefinitionTableName"] as string); PrivateIdentifierField = syntaxHelper.EnsureFullyQualified(Database, null, TableName, r["PrivateIdentifierField"] as string); ReleaseIdentifierField = syntaxHelper.EnsureFullyQualified(Database, null, TableName, r["ReleaseIdentifierField"] as string); }
/// <summary> /// Creates a new blank pointer to a cohort database. /// </summary> /// <param name="repository">Metadata repository in which to create the object</param> /// <param name="name"></param> /// <param name="databaseType"></param> public ExternalCohortTable(IDataExportRepository repository, string name, DatabaseType databaseType) { Repository = repository; SelfCertifyingDataAccessPoint = new SelfCertifyingDataAccessPoint(repository.CatalogueRepository, databaseType); Repository.InsertAndHydrate(this, new Dictionary <string, object> { { "Name", name ?? "NewExternalSource" + Guid.NewGuid() }, { "DatabaseType", databaseType.ToString() } }); }
public bool DiscoverExistence(DataAccessContext context, out string reason) { return(SelfCertifyingDataAccessPoint.DiscoverExistence(context, out reason)); }
/// <inheritdoc/> public IDataAccessCredentials GetCredentialsIfExists(DataAccessContext context) { return(SelfCertifyingDataAccessPoint.GetCredentialsIfExists(context)); }
/// <inheritdoc/> public string GetDecryptedPassword() { return(SelfCertifyingDataAccessPoint.GetDecryptedPassword()); }
/// <inheritdoc/> public DiscoveredDatabase Discover() { return(SelfCertifyingDataAccessPoint.Discover(DataAccessContext.DataExport)); }