Пример #1
0
 /**
  * @param \Sonata\Component\Basket\BasketElementInterface $basketElement A basket element instance
  * @param string                                          $format        A format to obtain raw product
  *
  * @return \Sonata\Component\Order\OrderElementInterface
  */
 public function createOrderElement(BasketElementInterface $basketElement, $format = 'json')
 {
     $orderElement = new $this->orderElementClassName();
     $orderElement->setQuantity($basketElement->getQuantity());
     $orderElement->setUnitPrice($basketElement->getUnitPrice(true));
     $orderElement->setPrice($basketElement->getPrice(true));
     $orderElement->setPriceIncludingVat($basketElement->isPriceIncludingVat());
     $orderElement->setVatRate($basketElement->getVatRate());
     $orderElement->setDesignation($basketElement->getName());
     $orderElement->setProductType($this->getCode());
     $orderElement->setStatus(OrderInterface::STATUS_PENDING);
     $orderElement->setDeliveryStatus(ServiceDeliveryInterface::STATUS_OPEN);
     $orderElement->setCreatedAt(new \DateTime());
     $orderElement->setOptions($basketElement->getOptions());
     $product = $basketElement->getProduct();
     $orderElement->setDescription($product->getDescription());
     $orderElement->setProductId($product->getId());
     $orderElement->setRawProduct($this->getRawProduct($product, $format));
     return $orderElement;
 }