예제 #1
0
 private function findCurrentOrder()
 {
     $sessionId = $this->requestHelper->getSessionId();
     $client = $this->securityHelper->getCurrentClient();
     $shop = $this->shopStorage->getCurrentShop();
     return $this->orderManager->findOrder($sessionId, $client, $shop);
 }
예제 #2
0
 public function create() : OrderInterface
 {
     $order = new Order();
     $order->setConfirmed(false);
     $order->setProducts($this->createEmptyCollection());
     $order->setProductTotal(new OrderProductTotal());
     $order->setModifiers($this->createEmptyCollection());
     $order->setPayments($this->createEmptyCollection());
     $order->setOrderStatusHistory($this->createEmptyCollection());
     $order->setComment('');
     $order->setCurrency($this->requestHelper->getCurrentCurrency());
     $order->setSummary(new OrderSummary());
     $order->setShop($this->shopStorage->getCurrentShop());
     $order->setClient($this->securityHelper->getCurrentClient());
     $order->setSessionId($this->requestHelper->getSessionId());
     $client = $this->securityHelper->getCurrentClient();
     if ($client instanceof ClientInterface) {
         $order->setClientDetails($client->getClientDetails());
         $order->setContactDetails($client->getContactDetails());
         $order->setBillingAddress($client->getBillingAddress());
         $order->setShippingAddress($client->getShippingAddress());
     } else {
         $order->setClientDetails($this->detailsFactory->create());
         $order->setContactDetails($this->contactDetailsFactory->create());
         $order->setBillingAddress($this->billingAddressFactory->create());
         $order->setShippingAddress($this->shippingAddressFactory->create());
     }
     return $order;
 }