/** * @param \Generated\Shared\Transfer\WishlistChangeTransfer $wishlistChange * * @return \Generated\Shared\Transfer\WishlistTransfer */ public function addItems(WishlistChangeTransfer $wishlistChange) { $wishlistIndex = $this->createIndex(); foreach ($wishlistChange->getItems() as $wishlistItem) { if (isset($wishlistIndex[$wishlistItem->getGroupKey()])) { $key = $wishlistIndex[$wishlistItem->getGroupKey()]; $existingItem = $this->wishlistTransfer->getItems()[$key]; $existingItem->setQuantity($wishlistItem->getQuantity() + $existingItem->getQuantity()); } else { $productConcrete = $this->productFacade->getProductConcrete($wishlistItem->getSku()); $wishlistItem->setIdProductAbstract($productConcrete->getIdProductAbstract()); $this->wishlistTransfer->addItem($wishlistItem); } } return $this->wishlistTransfer; }
/** * @param \Generated\Shared\Transfer\ItemTransfer $wishlistItemTransfer * @param int $idWishlist * * @return \Orm\Zed\Wishlist\Persistence\SpyWishlistItem|null */ protected function getWishlistItemEntity(ItemTransfer $wishlistItemTransfer, $idWishlist) { $wishlistItemEntity = null; if ($wishlistItemTransfer->getGroupKey()) { $wishlistItemEntity = $this->wishlistQueryContainer->queryCustomerWishlistByGroupKey($idWishlist, $wishlistItemTransfer->getGroupKey())->findOne(); } if (empty($wishlistItemEntity)) { $idProductConcrete = $this->facadeProduct->getProductConcreteIdBySku($wishlistItemTransfer->getSku()); $wishlistItemEntity = $this->wishlistQueryContainer->queryCustomerWishlistByProductId($idWishlist, $idProductConcrete)->findOne(); } return $wishlistItemEntity; }