/**
  * Delete the shopping cart's item
  *
  * @param integer $itemId
  * @param boolean $useShoppingCartId
  * @param boolean $isSystem
  * @return boolean|string
  */
 public function deleteFromShoppingCart($itemId, $useShoppingCartId = true, $isSystem = false)
 {
     try {
         $this->adapter->getDriver()->getConnection()->beginTransaction();
         $delete = $this->delete()->from('payment_shopping_cart')->where(['id' => $itemId]);
         if ($useShoppingCartId) {
             $delete->where(['shopping_cart_id' => $this->getShoppingCartId()]);
         }
         $statement = $this->prepareStatementForSqlObject($delete);
         $result = $statement->execute();
         $this->adapter->getDriver()->getConnection()->commit();
     } catch (Exception $e) {
         $this->adapter->getDriver()->getConnection()->rollback();
         ApplicationErrorLogger::log($e);
         return $e->getMessage();
     }
     if ($result->count()) {
         // fire the delete item from shopping cart event
         PaymentEvent::fireDeleteItemFromShoppingCartEvent($itemId, $isSystem);
         return true;
     }
     return false;
 }