/**
  * @param OrderCore $order
  *
  * @return array
  * @throws PrestaShopDatabaseException
  */
 protected function _getCartRules($order)
 {
     $result = array();
     foreach ($order->getDiscounts() as $item) {
         if (array_key_exists('id_order_cart_rule', $item)) {
             /** @var OrderCartRuleCore $cartRuleItem */
             $cartRuleItem = new OrderCartRule($item['id_order_cart_rule']);
         } else {
             /** @var OrderDiscountCore $cartRuleItem */
             $cartRuleItem = new OrderDiscount($item['id_order_discount']);
         }
         $resultItem = new ShopgateExternalCoupon();
         $resultItem->setCode($cartRuleItem->name);
         $resultItem->setAmountNet($cartRuleItem->value_tax_excl);
         $resultItem->setAmountGross($cartRuleItem->value);
         $resultItem->setIsFreeShipping($cartRuleItem->free_shipping);
         $result[] = $resultItem;
     }
     return $result;
 }