internal ExternalDatabaseServer(ShareManager shareManager, ShareDefinition shareDefinition) { var repo = shareManager.RepositoryLocator.CatalogueRepository; Repository = repo; _selfCertifyingDataAccessPoint = new SelfCertifyingDataAccessPoint(CatalogueRepository, DatabaseType.MicrosoftSQLServer /*will get changed by UpsertAndHydrate*/); shareManager.UpsertAndHydrate(this, shareDefinition); }
internal ExternalDatabaseServer(ICatalogueRepository repository, DbDataReader r) : base(repository, r) { Name = r["Name"] as string; CreatedByAssembly = r["CreatedByAssembly"] as string; MappedDataPath = r["MappedDataPath"] as string; var databaseType = (DatabaseType)Enum.Parse(typeof(DatabaseType), r["DatabaseType"].ToString()); _selfCertifyingDataAccessPoint = new SelfCertifyingDataAccessPoint(repository, databaseType) { Database = r["Database"] as string, Password = r["Password"] as string, Server = r["Server"] as string, Username = r["Username"] as string }; }
/// <summary> /// Creates a new persistent server reference in RDMP platform database that allows it to connect to a (usually database) server. /// /// <para>If you are trying to create a database (e.g. a logging database) you should instead use /// <see cref="MapsDirectlyToDatabaseTable.Versioning.MasterDatabaseScriptExecutor"/></para> /// </summary> /// <param name="repository"></param> /// <param name="name"></param> /// <param name="creatorIfAny">If the database referenced was created according to a specific SQL schema, this is the schema provider</param> public ExternalDatabaseServer(ICatalogueRepository repository, string name, IPatcher creatorIfAny) { var parameters = new Dictionary <string, object> { { "Name", name }, { "DatabaseType", DatabaseType.MicrosoftSQLServer } }; if (creatorIfAny != null) { parameters.Add("CreatedByAssembly", creatorIfAny.Name); } Repository = repository; _selfCertifyingDataAccessPoint = new SelfCertifyingDataAccessPoint(repository, DatabaseType.MicrosoftSQLServer); repository.InsertAndHydrate(this, parameters); }