Remove DbConfig and new constructors on DbContextBase and refactor Migrations to use explcit generation of IOqtaneDatabase instance

This commit is contained in:
Charles Nurse
2021-05-12 15:17:40 -07:00
parent c958f90ee2
commit c036a9d11f
34 changed files with 137 additions and 225 deletions

View File

@ -14,13 +14,6 @@ namespace Oqtane.Repository
{
public class SqlRepository : ISqlRepository
{
private IEnumerable<IOqtaneDatabase> _databases;
public SqlRepository(IEnumerable<IOqtaneDatabase> databases)
{
_databases = databases;
}
public void ExecuteScript(Tenant tenant, string script)
{
// execute script in current tenant
@ -80,14 +73,13 @@ namespace Oqtane.Repository
public IDataReader ExecuteReader(Tenant tenant, string query)
{
var db = _databases.Single(d => d.TypeName == tenant.DBType);
var db = GetActiveDatabase(tenant.DBType);
return db.ExecuteReader(tenant.DBConnectionString, query);
}
private int ExecuteNonQuery(string connectionString, string databaseType, string query)
{
var db = _databases.Single(d => d.TypeName == databaseType);
var db = GetActiveDatabase(databaseType);
return db.ExecuteNonQuery(connectionString, query);
}
@ -114,5 +106,17 @@ namespace Oqtane.Repository
return script;
}
private IOqtaneDatabase GetActiveDatabase(string databaseType)
{
IOqtaneDatabase activeDatabase = null;
if (!String.IsNullOrEmpty(databaseType))
{
var type = Type.GetType(databaseType);
activeDatabase = Activator.CreateInstance(type) as IOqtaneDatabase;
}
return activeDatabase;
}
}
}