/**
  * @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;
 }
Esempio n. 2
0
 /**
  * @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;
 }
Esempio n. 3
0
 /**
  * @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;
         }
     }
 }
Esempio n. 4
0
 /**
  * @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;
 }
Esempio n. 5
0
 /**
  * @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());
 }