Ejemplo n.º 1
0
        public virtual void RollbackTransaction(string trans)
        {
            if (_listBusObjects != null)
            {
                foreach (AzureSQLDBConn_BaseBusiness busObj in _listBusObjects)
                {
                    busObj.UnMarkSubTransaction();
                }
            }

            if (_nestLevel > 0)
            {
                _nestLevel--;
            }

            if (_nestLevel == 0)
            {
                try
                {
                    _txConnectionProvider.RollbackTransaction(trans);
                    _txConnectionProvider.CloseConnection(false);
                    _txConnectionProvider = null;
                }
                catch (Exception ex)
                {                       //if transaction completed exception, swallow it
                    if (ex.Message != "This SqlTransaction has completed; it is no longer usable.")
                    {
                        throw;
                    }
                }
            }
        }
Ejemplo n.º 2
0
        protected virtual void RegisterDataObject(AzureSQLDBConn_BaseData dataObject)
        {
            if (_txConnectionProvider == null)
            {
                _txConnectionProvider = new AzureSQLDBConn_TxConnectionProvider();
            }

            if (dataObject != null)
            {
                dataObject.ConnectionProvider = _txConnectionProvider;
            }
        }
Ejemplo n.º 3
0
        protected virtual void RegisterBusinessObject(AzureSQLDBConn_BaseBusiness busObject)
        {
            if (_txConnectionProvider == null)
            {
                _txConnectionProvider = new AzureSQLDBConn_TxConnectionProvider();
            }
            busObject.ConnectionProvider = _txConnectionProvider;

            if (!_listBusObjects.Contains(busObject))
            {
                _listBusObjects.Add(busObject);
            }
        }
Ejemplo n.º 4
0
 protected virtual void Dispose(bool isDisposing)
 {
     if (!_isDisposed)
     {
         if (isDisposing)
         {
             if (_txConnectionProvider != null)
             {
                 ((IDisposable)_txConnectionProvider).Dispose();
                 _txConnectionProvider = null;
             }
         }
     }
     _isDisposed = true;
 }
Ejemplo n.º 5
0
        public virtual void CommitTransaction()
        {
            if (_listBusObjects != null)
            {
                foreach (AzureSQLDBConn_BaseBusiness busObj in _listBusObjects)
                {
                    busObj.UnMarkSubTransaction();
                }
            }

            if (_nestLevel > 0)
            {
                _nestLevel--;
            }

            if (_nestLevel == 0)
            {
                _txConnectionProvider.CommitTransaction();
                _txConnectionProvider.CloseConnection(false);
                _txConnectionProvider = null;
            }
        }
Ejemplo n.º 6
0
        public virtual void BeginTransaction(string trans)
        {
            if (_nestLevel == 0)
            {
                if (_txConnectionProvider == null)
                {
                    _txConnectionProvider = new AzureSQLDBConn_TxConnectionProvider();
                }

                _txConnectionProvider.OpenConnection();
                _txConnectionProvider.BeginTransaction(trans);

                if (_listBusObjects != null)
                {
                    foreach (AzureSQLDBConn_BaseBusiness busObj in _listBusObjects)
                    {
                        busObj.MarkSubTransaction();
                    }
                }
            }
            _nestLevel++;
        }
Ejemplo n.º 7
0
 private void Init()
 {
     _nestLevel            = 0;
     _txConnectionProvider = null;
 }