public ICloudShopDal Create(string connectionString, DatabaseType databaseType) { var connectionOpener = new DatabaseConnectionOpener(connectionString, databaseType); var cloudShopDal = new DbAgnosticDal(connectionOpener); return(cloudShopDal); }
public ICloudShopDal Create(string connectionString, DatabaseType databaseType, IMetrics metrics, ILogger logger) { var connectionOpener = new DatabaseConnectionOpener(connectionString, databaseType); var cloudShopDal = new DalLoggingProxy(logger, new DalMetricsProxy(metrics, new DbAgnosticDal(connectionOpener))); return(cloudShopDal); }
internal DbAgnosticDal(DatabaseConnectionOpener databaseConnectionOpener) { _databaseConnectionOpener = databaseConnectionOpener; _openConnectionFunction = databaseConnectionOpener.OpenConnection; }