/**
  * Account for discounts in order create request.
  *
  * @see self::handleSalesConvertQuoteItemToOrderItem
  * @see Mage_SalesRule_Model_Validator::process
  * @see Order-Datatypes-Common-1.0.xsd:PromoDiscountSet
  * @param Varien_Event_Observer
  * @return void
  */
 public function handleSalesRuleValidatorProcess(Varien_Event_Observer $observer)
 {
     /** @var Varien_Event $event */
     $event = $observer->getEvent();
     /** @var Mage_SalesRule_Model_Rule $rule */
     $rule = $event->getRule();
     /** @var Mage_Sales_Model_Quote $quote */
     $quote = $event->getQuote();
     /** @var Mage_Core_Model_Store $store */
     $store = $quote->getStore();
     /** @var Mage_Sales_Model_Quote_Item $item */
     $item = $event->getItem();
     $data = (array) $item->getEbayEnterpriseOrderDiscountData();
     $ruleId = $rule->getId();
     // Use the rule id to prevent duplicates.
     $data[$ruleId] = ['amount' => $event->getResult()->getBaseDiscountAmount(), 'applied_count' => $event->getQty(), 'code' => $this->helper->getQuoteCouponCode($quote, $rule), 'description' => $rule->getStoreLabel($store) ?: $rule->getName(), 'effect_type' => $rule->getSimpleAction(), 'id' => $ruleId];
     $item->setEbayEnterpriseOrderDiscountData($data);
 }