public function create() : ClientInterface { $client = new Client(); $client->setContactDetails($this->contactDetailsFactory->create()); $client->setClientDetails($this->detailsFactory->create()); $client->setBillingAddress($this->billingAddressFactory->create()); $client->setShippingAddress($this->shippingAddressFactory->create()); $client->setShop($this->shopStorage->getCurrentShop()); $client->setClientGroup($this->shopStorage->getCurrentShop()->getClientGroup()); return $client; }
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; }