Author: Adam Piotrowski (adam@wellcommerce.org)
Inheritance: extends WellCommerce\Bundle\DoctrineBundle\Factory\AbstractEntityFactory
 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;
 }
示例#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;
 }