Пример #1
0
 /**
  * @param \ArrayObject|\Generated\Shared\Transfer\RefundItemTransfer[] $refundItems
  *
  * @return \ArrayObject
  */
 protected function getGroupedTaxTotals(\ArrayObject $refundItems)
 {
     $groupedTaxTotals = new \ArrayObject();
     foreach ($refundItems as $refundItem) {
         $taxRateIndex = (string) $refundItem->getTaxRate();
         if (!$groupedTaxTotals->offsetExists($taxRateIndex)) {
             $taxTotal = new TaxTotalTransfer();
             $taxTotal->setTaxRate($refundItem->getTaxRate());
             $groupedTaxTotals->offsetSet($taxRateIndex, $taxTotal);
         } else {
             $taxTotal = $groupedTaxTotals->offsetGet($taxRateIndex);
         }
         $taxTotalAmount = (int) $taxTotal->getAmount();
         $taxTotalAmount += $refundItem->getTaxAmountWithDiscount();
         $taxTotal->setAmount($taxTotalAmount);
     }
     return $groupedTaxTotals;
 }