using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Microsoft.Practices.EnterpriseLibrary.Common; using Microsoft.Practices.EnterpriseLibrary.Data; using System.Data.Common; using System.Data; namespace AyADAL { public class TransaccionDAL { #region Attributes private DbTransaction dbTransaction; private DbConnection dbConnection; private Database db; #endregion #region Constructor public TransaccionDAL(string strConexString) { DatabaseProviderFactory factory = new DatabaseProviderFactory(); this.db = factory.Create(strConexString); } #endregion #region Properties public DbTransaction Transaction { get { return this.dbTransaction; } set { this.dbTransaction = value; } } public Database DB { get { return this.db; } } public DbConnection Connection { get { return this.dbConnection; } } #endregion #region Custom Methods public void BeginTransaction() { this.dbConnection = db.CreateConnection(); this.dbConnection.Open(); this.Transaction = dbConnection.BeginTransaction(); } public void RollBackTransaction() { this.dbTransaction.Rollback(); } public void CommitTransaction() { this.dbConnection = dbTransaction.Connection; this.dbTransaction.Commit(); } public void CloseConnection() { if (this.dbConnection.State == ConnectionState.Open) this.dbConnection.Close(); } #endregion } }