75 lines
1.8 KiB
C#
75 lines
1.8 KiB
C#
using System;
|
|
using Microsoft.Data.SqlClient;
|
|
|
|
namespace DAL
|
|
{
|
|
public class DALLconexao : IDisposable
|
|
{
|
|
private string _stringConexao;
|
|
private SqlConnection _conexao;
|
|
private SqlTransaction? _transaction;
|
|
public void Dispose()
|
|
{
|
|
_transaction?.Dispose();
|
|
_conexao?.Dispose();
|
|
}
|
|
|
|
public DALLconexao(string dadosConexao)
|
|
{
|
|
_stringConexao = dadosConexao;
|
|
_conexao = new SqlConnection(_stringConexao);
|
|
}
|
|
|
|
|
|
public string StringConexao
|
|
{
|
|
get { return _stringConexao; }
|
|
set { _stringConexao = value; }
|
|
}
|
|
|
|
public SqlConnection ObjetoConexao
|
|
{
|
|
get { return _conexao; }
|
|
set { _conexao = value; }
|
|
}
|
|
|
|
public SqlTransaction? ObjetoTransaction
|
|
{
|
|
get { return _transaction; }
|
|
set { _transaction = value; }
|
|
}
|
|
|
|
public void Conectar()
|
|
{
|
|
if (_conexao.State != System.Data.ConnectionState.Open)
|
|
_conexao.Open();
|
|
}
|
|
|
|
public void Desconectar()
|
|
{
|
|
if (_conexao.State != System.Data.ConnectionState.Closed)
|
|
_conexao.Close();
|
|
}
|
|
|
|
public void IniciarTransacao()
|
|
{
|
|
if (_conexao.State != System.Data.ConnectionState.Open)
|
|
_conexao.Open();
|
|
|
|
_transaction = _conexao.BeginTransaction();
|
|
}
|
|
|
|
public void TerminarTransacao()
|
|
{
|
|
_transaction?.Commit();
|
|
_transaction = null;
|
|
}
|
|
|
|
public void CancelarTransacao()
|
|
{
|
|
try { _transaction?.Rollback(); }
|
|
catch { /* log aqui futuramente */ }
|
|
finally { _transaction = null; }
|
|
}
|
|
}
|
|
} |