57 \
Magento\Framework\
App\Config\ScopeConfigInterface $scopeConfig,
58 \
Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory,
62 \
Magento\Framework\DataObject\Copy $objectCopyService
64 $this->_scopeConfig = $scopeConfig;
65 $this->_purchasedFactory = $purchasedFactory;
68 $this->_itemsFactory = $itemsFactory;
69 $this->_objectCopyService = $objectCopyService;
92 if ($purchasedLink->getId()) {
104 if ($linkIds =
$orderItem->getProductOptionByCode(
'links')) {
106 $this->_objectCopyService->copyFieldsetToTarget(
107 \downloadable_sales_copy_order::class,
112 $this->_objectCopyService->copyFieldsetToTarget(
113 \downloadable_sales_copy_order_item::class,
119 ->getLinksTitle() : $this
122 \
Magento\Downloadable\Model\Link::XML_PATH_LINKS_TITLE,
125 $linkPurchased->setLinkSectionTitle($linkSectionTitle)->save();
126 foreach ($linkIds as $linkId) {
127 if (isset(
$links[$linkId])) {
129 $linkPurchased->getId()
134 $this->_objectCopyService->copyFieldsetToTarget(
135 \downloadable_sales_copy_link::class,
147 $numberOfDownloads =
$links[$linkId]->getNumberOfDownloads() *
$orderItem->getQtyOrdered();
148 $linkPurchasedItem->setLinkHash(
150 )->setNumberOfDownloadsBought(
153 \
Magento\Downloadable\Model\Link\Purchased\Item::LINK_STATUS_PENDING
172 return $this->_purchasedFactory->create();
180 return $this->_productFactory->create();
188 return $this->_itemFactory->create();
196 return $this->_itemsFactory->create();
execute(\Magento\Framework\Event\Observer $observer)
__construct(\Magento\Framework\App\Config\ScopeConfigInterface $scopeConfig, \Magento\Downloadable\Model\Link\PurchasedFactory $purchasedFactory, \Magento\Catalog\Model\ProductFactory $productFactory, \Magento\Downloadable\Model\Link\Purchased\ItemFactory $itemFactory, \Magento\Downloadable\Model\ResourceModel\Link\Purchased\Item\CollectionFactory $itemsFactory, \Magento\Framework\DataObject\Copy $objectCopyService)
_createPurchasedItemModel()