Example #1
0
        public DBTransaction BeginTransaction()
        {
            SqlTransaction sqlTran = null;

            if (_dbTransaction == null)
            {
                SqlConnection con = new SqlConnection(ConnectionString);
                con.Open();

                if (_database != null && con.Database != _database)
                {
                    con.ChangeDatabase(_database);
                }

                sqlTran = con.BeginTransaction();
            }
            DBTransaction ret = new DBTransaction(sqlTran, _dbTransaction);

            if (_dbTransaction == null)
            {
                _dbTransaction = ret;
                _dbTransaction.CommitCompletedEvent   += new EventHandler(OnTransactionCompleted);
                _dbTransaction.RollbackCompletedEvent += new EventHandler(OnTransactionCompleted);
            }
            return(ret);
        }
Example #2
0
        private DBTransaction _transaction; // commit, dispose

        #endregion Fields

        #region Constructors

        public MetadataContext(DBHelper dbHelper)
        {
            _previousContext = DataContext.Current;

            _transaction = dbHelper.BeginTransaction();

            _currentContext = new DataContext(string.Empty);
            _currentContext.SqlContext.CommandTimeout = dbHelper.CommandTimeout;
            _currentContext.SqlContext.Transaction = _transaction.SqlTran;

            DataContext.Current = _currentContext;
        }
Example #3
0
        protected virtual void Dispose(bool freeManagedResources)
        {
            if (freeManagedResources)
            {
                // free managed resources

                if (_currentContext != null)
                {
                    _currentContext.SqlContext.Transaction = null;
                    _currentContext.Dispose();
                    _currentContext = null;
                }
                DataContext.Current = _previousContext;

                if (_transaction != null)
                {
                    _transaction.Dispose();
                    _transaction = null;
                }
            }

            // free native resources if there are any.
        }
Example #4
0
 internal DBTransaction(SqlTransaction sqlTransaction, DBTransaction rootTransaction)
 {
     _sqlTransaction  = sqlTransaction;
     _rootTransaction = rootTransaction;
 }
Example #5
0
 private void OnTransactionCompleted(object sender, EventArgs e)
 {
     _dbTransaction = null;
 }
Example #6
0
 internal DBTransaction(SqlTransaction sqlTransaction, DBTransaction rootTransaction)
 {
     _sqlTransaction = sqlTransaction;
     _rootTransaction = rootTransaction;
 }
Example #7
0
 private void OnTransactionCompleted(object sender, EventArgs e)
 {
     _dbTransaction = null;
 }
Example #8
0
        public DBTransaction BeginTransaction()
        {
            SqlTransaction sqlTran = null;
            if(_dbTransaction == null)
            {
                SqlConnection con = new SqlConnection(ConnectionString);
                con.Open();

                if (_database != null && con.Database != _database)
                    con.ChangeDatabase(_database);

                sqlTran = con.BeginTransaction();
            }
            DBTransaction ret = new DBTransaction(sqlTran, _dbTransaction);
            if(_dbTransaction == null)
            {
                _dbTransaction = ret;
                _dbTransaction.CommitCompletedEvent += new EventHandler(OnTransactionCompleted);
                _dbTransaction.RollbackCompletedEvent += new EventHandler(OnTransactionCompleted);
            }
            return ret;
        }