/** * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer * @param \Generated\Shared\Transfer\CheckoutResponseTransfer $checkoutResponseTransfer * * @return void */ public function checkPreConditions(QuoteTransfer $quoteTransfer, CheckoutResponseTransfer $checkoutResponseTransfer) { if ($quoteTransfer->getCustomer() !== null && $quoteTransfer->getCustomer()->getIdCustomer() !== null) { return; } if ($quoteTransfer->getCustomer()->getIsGuest() === true) { return; } if ($this->customer->hasEmail($quoteTransfer->getCustomer()->getEmail())) { $checkoutErrorTransfer = $this->createCheckoutErrorTransfer(); $checkoutErrorTransfer->setErrorCode(CheckoutConstants::ERROR_CODE_CUSTOMER_ALREADY_REGISTERED)->setMessage('Email already taken'); $checkoutResponseTransfer->setIsSuccess(false)->addError($checkoutErrorTransfer); } }
/** * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity * * @return void */ protected function hydrateSalesOrderCustomer(QuoteTransfer $quoteTransfer, SpySalesOrder $salesOrderEntity) { $customerTransfer = $quoteTransfer->getCustomer(); $salesOrderEntity->setFkCustomer($customerTransfer->getIdCustomer()); $salesOrderEntity->setEmail($customerTransfer->getEmail()); $salesOrderEntity->setFirstName($customerTransfer->getFirstName()); $salesOrderEntity->setLastName($customerTransfer->getLastName()); }