Notifier.php 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. <?php
  2. /**
  3. * Copyright © Magento, Inc. All rights reserved.
  4. * See COPYING.txt for license details.
  5. */
  6. namespace Magento\Sales\Model\Order\Creditmemo;
  7. /**
  8. * CreditMemo notifier.
  9. *
  10. * @api
  11. * @since 100.1.3
  12. */
  13. class Notifier implements \Magento\Sales\Model\Order\Creditmemo\NotifierInterface
  14. {
  15. /**
  16. * @var \Magento\Sales\Model\Order\CreditMemo\SenderInterface[]
  17. */
  18. private $senders;
  19. /**
  20. * @param \Magento\Sales\Model\Order\CreditMemo\SenderInterface[] $senders
  21. */
  22. public function __construct(array $senders = [])
  23. {
  24. $this->senders = $senders;
  25. }
  26. /**
  27. * {@inheritdoc}
  28. * @since 100.1.3
  29. */
  30. public function notify(
  31. \Magento\Sales\Api\Data\OrderInterface $order,
  32. \Magento\Sales\Api\Data\CreditmemoInterface $creditmemo,
  33. \Magento\Sales\Api\Data\CreditmemoCommentCreationInterface $comment = null,
  34. $forceSyncMode = false
  35. ) {
  36. foreach ($this->senders as $sender) {
  37. $sender->send($order, $creditmemo, $comment, $forceSyncMode);
  38. }
  39. }
  40. }