/** * @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\WishlistChangeTransfer $wishlistChange * * @return \Generated\Shared\Transfer\WishlistChangeTransfer */ public function addItems(WishlistChangeTransfer $wishlistChange) { $idCustomer = $this->customerTransfer->getIdCustomer(); $wishlistEntity = $this->getWishlistEntity($idCustomer); if (empty($wishlistEntity)) { $wishlistEntity = $this->createWishlistEntity($idCustomer); } foreach ($wishlistChange->getItems() as $wishlistItemTransfer) { $wishlistItemEntity = $this->getWishlistItemEntity($wishlistItemTransfer, $wishlistEntity->getIdWishlist()); if (empty($wishlistItemEntity)) { $productConcreteTransfer = $this->facadeProduct->getProductConcrete($wishlistItemTransfer->getSku()); $this->createNewWishlistItem($wishlistItemTransfer, $wishlistEntity->getIdWishlist(), $productConcreteTransfer); } else { $this->updateWishlistItem($wishlistItemEntity, $wishlistItemTransfer); } } $wishlistTransfer = $this->customer->getWishlist(); return $wishlistTransfer; }