using DealerSelection.Common.Exceptions; using DealerSelection.Common.Interfaces.Data; using System.Data.SqlClient; namespace DealerSelection.Common.Data; public abstract class RepositoryBaseDIAsync : RepositoryDIBase, IRepositoryDIAsync { public RepositoryBaseDIAsync(string cxnName) : base(cxnName) { } public async Task OpenCxnAsync() { SqlConnection cxn = new SqlConnection(CxnString); try { await cxn.OpenAsync(); } catch (SqlException ex) { foreach(SqlError error in ex.Errors) { if(error.Number == 53) { throw new DbConnectionException($"DB Connection error for CxnString: {CxnString}. Exception: {ex}"); } } throw; } return cxn; } }