コード例 #1
0
ファイル: Customer.php プロジェクト: spryker/Wishlist
 /**
  * @return \Generated\Shared\Transfer\WishlistTransfer
  */
 public function getWishlist()
 {
     $wishlist = $this->wishlistQueryContainer->queryWishlist()->findOneByFkCustomer($this->customerTransfer->getIdCustomer());
     $wishlistTransfer = new WishlistTransfer();
     foreach ($wishlist->getSpyWishlistItems() as $wishlistItemEntity) {
         $wishlistItemTransfer = new ItemTransfer();
         $productEntity = $wishlistItemEntity->getSpyProduct();
         $wishlistItemTransfer->setGroupKey($wishlistItemEntity->getGroupKey())->setAddedAt($wishlistItemEntity->getAddedAt())->setIdProductAbstract($wishlistItemEntity->getFkProductAbstract())->setSku($productEntity->getSku())->setQuantity($wishlistItemEntity->getQuantity());
         $wishlistTransfer->addItem($wishlistItemTransfer);
     }
     return $wishlistTransfer;
 }
コード例 #2
0
ファイル: Propel.php プロジェクト: spryker/Wishlist
 /**
  * @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;
 }
コード例 #3
0
ファイル: Customer.php プロジェクト: spryker/Customer
 /**
  * @param \Generated\Shared\Transfer\CustomerTransfer $customerTransfer
  *
  * @return bool
  */
 protected function hasCustomer(CustomerTransfer $customerTransfer)
 {
     $result = false;
     $customerEntity = null;
     if ($customerTransfer->getIdCustomer()) {
         $customerEntity = $this->queryContainer->queryCustomerById($customerTransfer->getIdCustomer())->findOne();
     } elseif ($customerTransfer->getEmail()) {
         $customerEntity = $this->queryContainer->queryCustomerByEmail($customerTransfer->getEmail())->findOne();
     }
     if ($customerEntity !== null) {
         $result = true;
     }
     return $result;
 }
コード例 #4
0
 /**
  * @param \Generated\Shared\Transfer\CustomerTransfer $customerTransfer
  *
  * @return bool
  */
 protected function isNewCustomer(CustomerTransfer $customerTransfer)
 {
     return $customerTransfer->getIdCustomer() === null;
 }
コード例 #5
0
 /**
  * @param \Generated\Shared\Transfer\CustomerTransfer $customerTransfer
  *
  * @return \Generated\Shared\Transfer\AddressTransfer
  */
 protected function createTestAddressTransfer(CustomerTransfer $customerTransfer)
 {
     $addressTransfer = new AddressTransfer();
     $addressTransfer->setFkCustomer($customerTransfer->getIdCustomer());
     $addressTransfer->setEmail(self::TESTER_EMAIL);
     $addressTransfer->setFirstName(self::TESTER_NAME);
     $addressTransfer->setLastName(self::TESTER_NAME);
     $addressTransfer->setAddress1(self::TESTER_ADDRESS1);
     $addressTransfer->setCity(self::TESTER_CITY);
     $addressTransfer->setZipCode(self::TESTER_ZIP_CODE);
     return $addressTransfer;
 }
コード例 #6
0
ファイル: Address.php プロジェクト: spryker/Customer
 /**
  * @param \Generated\Shared\Transfer\CustomerTransfer $customerTransfer
  *
  * @throws \Spryker\Zed\Customer\Business\Exception\CustomerNotFoundException
  *
  * @return \Orm\Zed\Customer\Persistence\SpyCustomer
  */
 protected function getCustomerFromCustomerTransfer(CustomerTransfer $customerTransfer)
 {
     $customer = null;
     if ($customerTransfer->getEmail()) {
         $customer = $this->queryContainer->queryCustomerByEmail($customerTransfer->getEmail())->findOne();
     } elseif ($customerTransfer->getIdCustomer()) {
         $customer = $this->queryContainer->queryCustomerById($customerTransfer->getIdCustomer())->findOne();
     }
     if ($customer === null) {
         throw new CustomerNotFoundException(sprintf('Customer not found for email `%s` or ID `%s`.', $customerTransfer->getEmail(), $customerTransfer->getIdCustomer()));
     }
     return $customer;
 }