oi-metrology/Server/Services/SQLDbConnectionFactory.cs
Mike Phares 5c9f0d1aff Remove with Text
Remove GetEngineeringSpcReview
Better error message
EnforceCodeStyleInBuild
NginxFileSystem
Remove Reactors and Working Directory
AppSettings
Delete self contained Thunder Tests
Back to .net8.0
api/v4/InfinityQS
ApiExplorerSettings
Wafer Counter
2024-04-15 13:13:55 -07:00

30 lines
1.0 KiB
C#

using OI.Metrology.Server.Models;
using OI.Metrology.Shared.Repositories;
using System.Data.Common;
using System.Data.SqlClient;
#pragma warning disable CS8600, CS8602, CS8603, CS8604, CS8625
namespace OI.Metrology.Server.Services;
public class SQLDbConnectionFactory : IDbConnectionFactory
{
private readonly AppSettings _AppSettings;
public SQLDbConnectionFactory(AppSettings appSettings) => _AppSettings = appSettings;
public DbConnection GetDbConnection(bool? useIqsConnection)
{
DbProviderFactories.RegisterFactory(
typeof(SqlConnection).Namespace,
SqlClientFactory.Instance);
if (string.IsNullOrEmpty(_AppSettings.ConnectionString))
throw new Exception("Connection string is missing");
DbConnection dbConnection = SqlClientFactory.Instance.CreateConnection();
dbConnection.ConnectionString = useIqsConnection is null || !useIqsConnection.Value ? _AppSettings.ConnectionString : throw new Exception();
dbConnection.Open();
return dbConnection;
}
}