/**
  * Hide user transaction
  *
  * @param integer $transactionId
  * @param integer $userId
  * @return boolean|string
  */
 public function hideUserTransaction($transactionId, $userId)
 {
     try {
         $this->adapter->getDriver()->getConnection()->beginTransaction();
         $update = $this->update()->table('payment_transaction_list')->set(['user_hidden' => self::TRANSACTION_USER_HIDDEN])->where(['id' => $transactionId, 'user_id' => $userId, 'language' => $this->getCurrentLanguage()]);
         $statement = $this->prepareStatementForSqlObject($update);
         $statement->execute();
         $this->adapter->getDriver()->getConnection()->commit();
     } catch (Exception $e) {
         $this->adapter->getDriver()->getConnection()->rollback();
         ApplicationErrorLogger::log($e);
         return $e->getMessage();
     }
     // fire hide payment transaction event
     PaymentEvent::fireHidePaymentTransactionEvent($transactionId);
     return true;
 }