/** * @param \Generated\Shared\Transfer\ItemTransfer $cartItem * * @return string */ protected function buildGroupKey(ItemTransfer $cartItem) { $groupKey = $cartItem->getGroupKey(); if (empty($groupKey)) { return $cartItem->getSku(); } $groupKey = $groupKey . '-' . $cartItem->getSku(); return $groupKey; }
/** * @param \Generated\Shared\Transfer\ItemTransfer $itemTransfer * * @throws \Spryker\Zed\Cart\Business\Exception\InvalidQuantityExeption * * @return bool */ protected function isValidQuantity(ItemTransfer $itemTransfer) { if ($itemTransfer->getQuantity() < 1) { throw new InvalidQuantityExeption(sprintf('Could not change cart item "%d" with "%d" as value.', $itemTransfer->getSku(), $itemTransfer->getQuantity())); } return true; }
/** * @param array $wishlistIndex * @param \Generated\Shared\Transfer\ItemTransfer $itemToChange * * @return void */ protected function decreaseByProductIdentifier(array $wishlistIndex, ItemTransfer $itemToChange) { foreach ($this->wishlistTransfer->getItems() as $key => $item) { if ($item->getSku() === $itemToChange->getSku()) { $this->decreaseItem($wishlistIndex[$item->getGroupKey()], $itemToChange); return; } } }
/** * @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; }
/** * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer * @param \Generated\Shared\Transfer\ItemTransfer $currentItemTransfer * @param \Generated\Shared\Transfer\ClauseTransfer $clauseTransfer * * @return bool */ public function isSatisfiedBy(QuoteTransfer $quoteTransfer, ItemTransfer $currentItemTransfer, ClauseTransfer $clauseTransfer) { return $this->comparators->compare($clauseTransfer, $currentItemTransfer->getSku()); }