oi-metrology/Archive/Repositories/SQLDbConnectionFactory.cs
2023-11-02 14:41:32 -07:00

31 lines
919 B
C#

using OI.Metrology.Archive.Models;
using OI.Metrology.Shared.Repositories;
using System;
using System.Data.Common;
using System.Data.SqlClient;
namespace OI.Metrology.Archive.Repositories;
#nullable disable
public class SQLDbConnectionFactory : IDbConnectionFactory
{
private readonly AppSettings _AppSettings;
public SQLDbConnectionFactory(AppSettings appSettings) => _AppSettings = appSettings;
public DbConnection GetDbConnection(bool? useOI2Sql = null)
{
DbProviderFactories.RegisterFactory(
typeof(SqlConnection).Namespace,
SqlClientFactory.Instance);
if (string.IsNullOrEmpty(_AppSettings.ConnectionString))
throw new Exception("Connection string is missing");
DbConnection c = SqlClientFactory.Instance.CreateConnection();
c.ConnectionString = _AppSettings.ConnectionString;
c.Open();
return c;
}
}