19 private $creditmemoFactory;
24 private $commentFactory;
29 private $hydratorPool;
34 private $orderRepository;
46 \
Magento\Sales\Api\
Data\CreditmemoCommentInterfaceFactory $commentFactory,
51 $this->commentFactory = $commentFactory;
52 $this->hydratorPool = $hydratorPool;
63 private function getCreditmemoCreationData(
67 $data = [
'qtys' => []];
72 $hydrator = $this->hydratorPool->getHydrator(
73 \
Magento\Sales\Api\
Data\CreditmemoCreationArgumentsInterface::class
88 private function attachComment(
90 \
Magento\Sales\Api\Data\CreditmemoCommentCreationInterface $comment,
91 $appendComment =
false 93 $commentData = $this->hydratorPool->getHydrator(
94 \
Magento\Sales\Api\Data\CreditmemoCommentCreationInterface::class
96 $comment = $this->commentFactory->create([
'data' => $commentData]);
100 ->setIsCustomerNotified($appendComment);
119 $appendComment =
false,
139 public function createFromInvoice(
143 $appendComment =
false,
createFromOrder(\Magento\Sales\Api\Data\OrderInterface $order, array $items=[], \Magento\Sales\Api\Data\CreditmemoCommentCreationInterface $comment=null, $appendComment=false, \Magento\Sales\Api\Data\CreditmemoCreationArgumentsInterface $arguments=null)
__construct(\Magento\Sales\Model\Order\CreditmemoFactory $creditmemoFactory, \Magento\Sales\Api\Data\CreditmemoCommentInterfaceFactory $commentFactory, \Magento\Framework\EntityManager\HydratorPool $hydratorPool, \Magento\Sales\Api\OrderRepositoryInterface $orderRepository)