/** * @return \Generated\Shared\Transfer\WishlistTransfer */ public function executeOperation() { $this->preSave($this->wishlistChange->getItems()); $wishlist = $this->applyOperation($this->wishlistChange); $this->postSave($this->wishlistChange->getItems()); return $wishlist; }
/** * @param \Generated\Shared\Transfer\WishlistChangeTransfer $wishlistChange * * @return \Generated\Shared\Transfer\WishlistTransfer */ public function removeItems(WishlistChangeTransfer $wishlistChange) { $wishlistIndex = $this->createIndex(); foreach ($wishlistChange->getItems() as $key => $wishlistItem) { if (isset($wishlistIndex[$wishlistItem->getGroupKey()])) { $this->decreaseItem($wishlistIndex[$wishlistItem->getGroupKey()], $wishlistItem); } else { $this->decreaseByProductIdentifier($wishlistIndex, $wishlistItem); } } return $this->wishlistTransfer; }
/** * @param \Generated\Shared\Transfer\WishlistChangeTransfer $wishlistChange * * @return \Generated\Shared\Transfer\WishlistTransfer */ public function removeItems(WishlistChangeTransfer $wishlistChange) { $idCustomer = $this->customerTransfer->getIdCustomer(); $wishlistEntity = $this->getWishlistEntity($idCustomer); $wishlistItems = $wishlistChange->getItems(); foreach ($wishlistItems as $wishlistItemTransfer) { $wishlistItemEntity = $this->getWishlistItemEntity($wishlistItemTransfer, $wishlistEntity->getIdWishlist()); if (empty($wishlistItemEntity)) { continue; } $quantityDifference = $wishlistItemEntity->getQuantity() - $wishlistItemTransfer->getQuantity(); if ($quantityDifference <= 0) { $this->deleteWishlistItem($wishlistItemEntity); } else { $wishlistItemEntity->setQuantity($quantityDifference); $wishlistItemEntity->save(); } } $wishlistTransfer = $this->customer->getWishlist(); return $wishlistTransfer; }