summaryrefslogtreecommitdiff
path: root/src/app/Cmpp298.Assignment3.DataAccess/DatabaseConnectionFactory.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/app/Cmpp298.Assignment3.DataAccess/DatabaseConnectionFactory.cs')
-rw-r--r--src/app/Cmpp298.Assignment3.DataAccess/DatabaseConnectionFactory.cs21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/app/Cmpp298.Assignment3.DataAccess/DatabaseConnectionFactory.cs b/src/app/Cmpp298.Assignment3.DataAccess/DatabaseConnectionFactory.cs
new file mode 100644
index 0000000..57e8373
--- /dev/null
+++ b/src/app/Cmpp298.Assignment3.DataAccess/DatabaseConnectionFactory.cs
@@ -0,0 +1,21 @@
+using System.Configuration;
+using System.Data;
+using System.Data.Common;
+
+namespace Cmpp298.Assignment3.DataAccess {
+ public class DatabaseConnectionFactory : IDatabaseConnectionFactory {
+ private ConnectionStringSettings _settings;
+
+ public DatabaseConnectionFactory( ) : this( ConfigurationManager.ConnectionStrings[ "PayablesConnection" ] ) {}
+
+ public DatabaseConnectionFactory( ConnectionStringSettings connectionStringSettings ) {
+ _settings = connectionStringSettings;
+ }
+
+ public IDbConnection Create( ) {
+ IDbConnection connection = DbProviderFactories.GetFactory( _settings.ProviderName ).CreateConnection( );
+ connection.ConnectionString = _settings.ConnectionString;
+ return connection;
+ }
+ }
+} \ No newline at end of file