Free cookie consent management tool by TermsFeed Policy Generator

Ignore:
Timestamp:
04/02/09 15:00:35 (15 years ago)
Author:
svonolfe
Message:

Updated transaction management (#527)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.DataAccess.ADOHelper/Transaction.cs

    r1468 r1488  
    3131  class Transaction: ITransaction {
    3232    private DbTransaction transaction;
    33     private TransactionManager manager;
     33
     34    private Session session;
     35
     36    public Transaction(Session session) {
     37      this.session = session;
     38    }
    3439
    3540    #region ITransaction Members
    36 
    37     public Transaction(TransactionManager manager) {
    38       this.manager = manager;
    39     }
    40 
    4141    public DbConnection Connection {
    4242      set {
     
    5454
    5555    public void Commit() {
    56       manager.RemoveTransaction(this);
    5756      if (transaction != null) {
    5857        DbConnection conn =
     
    6059
    6160        transaction.Commit();
     61
     62        transaction = null;
     63        session.DetachTrasaction();
    6264
    6365        if (conn != null &&
     
    6870
    6971    public void Rollback() {
    70       manager.RemoveTransaction(this);
    71       DbConnection conn =
    72           transaction.Connection;
     72      if (transaction != null) {
     73        DbConnection conn =
     74            transaction.Connection;
    7375
    74       transaction.Rollback();
     76        transaction.Rollback();
    7577
    76       if (conn != null &&
    77           conn.State == System.Data.ConnectionState.Open)
    78         conn.Close();
     78        transaction = null;
     79        session.DetachTrasaction();
     80
     81        if (conn != null &&
     82            conn.State == System.Data.ConnectionState.Open)
     83          conn.Close();
     84      }
    7985    }
    8086
Note: See TracChangeset for help on using the changeset viewer.