Пример #1
0
        /// <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);
        }
Пример #2
0
 /// <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() }
     });
 }
Пример #3
0
 public bool DiscoverExistence(DataAccessContext context, out string reason)
 {
     return(SelfCertifyingDataAccessPoint.DiscoverExistence(context, out reason));
 }
Пример #4
0
 /// <inheritdoc/>
 public IDataAccessCredentials GetCredentialsIfExists(DataAccessContext context)
 {
     return(SelfCertifyingDataAccessPoint.GetCredentialsIfExists(context));
 }
Пример #5
0
 /// <inheritdoc/>
 public string GetDecryptedPassword()
 {
     return(SelfCertifyingDataAccessPoint.GetDecryptedPassword());
 }
Пример #6
0
 /// <inheritdoc/>
 public DiscoveredDatabase Discover()
 {
     return(SelfCertifyingDataAccessPoint.Discover(DataAccessContext.DataExport));
 }