/** * Save gift message for order * * @param \Magento\Sales\Api\Data\OrderInterface $order * @return \Magento\Sales\Api\Data\OrderInterface * @throws CouldNotSaveException */ protected function saveOrderGiftMessage(\Magento\Sales\Api\Data\OrderInterface $order) { $extensionAttributes = $order->getExtensionAttributes(); if (null !== $extensionAttributes && null !== $extensionAttributes->getGiftMessage()) { /* @var \Magento\GiftMessage\Api\Data\MessageInterface $giftMessage */ $giftMessage = $extensionAttributes->getGiftMessage(); try { $this->giftMessageOrderRepository->save($order->getEntityId(), $giftMessage); } catch (\Exception $e) { throw new CouldNotSaveException(__('Could not add gift message to order: "%1"', $e->getMessage()), $e); } } return $order; }
/** * Get gift message for order * * @param \Magento\Sales\Api\Data\OrderInterface $order * @return \Magento\Sales\Api\Data\OrderInterface */ protected function getOrderGiftMessage(\Magento\Sales\Api\Data\OrderInterface $order) { if ($order->getExtensionAttributes() && $order->getExtensionAttributes()->getGiftMessage()) { return $order; } try { /** @var \Magento\GiftMessage\Api\Data\MessageInterface $giftMessage */ $giftMessage = $this->giftMessageOrderRepository->get($order->getEntityId()); } catch (NoSuchEntityException $e) { return $order; } /** @var \Magento\Sales\Api\Data\OrderExtension $orderExtension */ $orderExtension = $this->orderExtensionFactory->create(); $orderExtension->setGiftMessage($giftMessage); $order->setExtensionAttributes($orderExtension); return $order; }