summaryrefslogtreecommitdiff
path: root/src/app/Cmpp298.Assignment3.DataAccess/DatabaseConnectionFactory.cs
blob: 57e8373a5855844d262b695c2462791371fcbfc2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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;
		}
	}
}