internal void returnConnectionToPoolInternal()
 {
     //  lock (UnitOfWork._iconnLock)
     //  {
     if (UnitOfWork.uow.HasTransaction == false && UnitOfWork.uow.HasExplicitTransaction == false)
     {
         DbPool.FreeConnection(Convert.ToInt16(UnitOfWork.uow.PoolToken), out UnitOfWork.uow.PoolTokenValid);
         UnitOfWork.uow.PoolToken = null;
     }
     // }
 }
        internal IDbConnection GetDbconnection()
        {
            try
            {
                //  lock (UnitOfWork.iConnLock)
                //  {

                if (UnitOfWork.uow.iDBConnection == null)
                {
                    UnitOfWork.uow.iDBConnection = DbPool.GetConnection(out UnitOfWork.uow.PoolToken, out UnitOfWork.uow.PoolTokenValid);
                }
                return(UnitOfWork.uow.iDBConnection);
                //  }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        internal void CloseConnection()
        {
            try
            {
                //   lock (UnitOfWork.iConnLock)
                // {

                if (UnitOfWork.uow.PoolToken != null)
                {
                    UnitOfWork.uow.ClearIsolationLevel();
                    DbPool.FreeConnection(Convert.ToInt16(UnitOfWork.uow.PoolToken), out UnitOfWork.uow.PoolTokenValid);
                    UnitOfWork.uow.PoolToken = null;
                }

                // }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }