コード例 #1
0
ファイル: order.php プロジェクト: sansandeep143/av
 /**
  * @param EventgalleryLibraryCart $cart
  * @return EventgalleryLibraryOrder
  */
 public function createOrder($cart)
 {
     $db = JFactory::getDBO();
     $data = $cart->_getInternalDataObject();
     $uuid = uniqid("", true);
     $uuid = base_convert($uuid, 16, 10);
     $query = $db->getQuery(true);
     $query->insert("#__eventgallery_order");
     $query->columns('id');
     $query->values($db->quote($uuid));
     $db->setQuery($query);
     $db->execute();
     $user = JFactory::getUser();
     $data['id'] = $uuid;
     if (!$user->guest) {
         $data['userid'] = $user->id;
     }
     /**
      * @var TableOrder $orderTable
      */
     $orderTable = $this->store($data, 'Order');
     /**
      * @var EventgalleryLibraryImagelineitem $lineitem
      * @var EventgalleryLibraryFactoryImagelineitem $imageLineItemFactory
      */
     $imageLineItemFactory = EventgalleryLibraryFactoryImagelineitem::getInstance();
     foreach ($cart->getLineItems() as $lineitem) {
         $imageLineItemFactory->copyLineItem($orderTable->id, $lineitem);
     }
     /**
      * @var EventgalleryLibraryServicelineitem $lineitem
      * @var EventgalleryLibraryFactoryServicelineitem $serviceLineItemFactory
      */
     $serviceLineItemFactory = EventgalleryLibraryFactoryServicelineitem::getInstance();
     foreach ($cart->getServiceLineItems() as $lineitem) {
         $serviceLineItemFactory->copyLineItem($orderTable->id, $lineitem);
     }
     /**
      * @var EventgalleryLibraryManagerOrderstatus $orderstatusMgr
      */
     $orderstatusMgr = EventgalleryLibraryManagerOrderstatus::getInstance();
     /**
      * @var EventgalleryLibraryOrder $order
      */
     $order = new EventgalleryLibraryOrder($orderTable->id);
     $order->setOrderStatus($orderstatusMgr->getDefaultOrderStatus(EventgalleryLibraryOrderstatus::TYPE_ORDER));
     $order->setPaymentStatus($orderstatusMgr->getDefaultOrderStatus(EventgalleryLibraryOrderstatus::TYPE_PAYMENT));
     $order->setShippingStatus($orderstatusMgr->getDefaultOrderStatus(EventgalleryLibraryOrderstatus::TYPE_SHIPPING));
     $order->setDocumentNumber(EventgalleryLibraryDatabaseSequence::generateNewId());
     return $order;
 }
コード例 #2
0
 /**
  * sets a shipping
  *
  * @param EventgalleryLibraryMethodsShipping $shipping
  */
 public function setShippingMethod($shipping)
 {
     $this->_deleteMethodByType(EventgalleryLibraryServicelineitem::TYPE_SHIPINGMETHOD);
     if ($shipping == null) {
         return;
     }
     /* @var EventgalleryLibraryFactoryServicelineitem $serviceLineItemFactory */
     $serviceLineItemFactory = EventgalleryLibraryFactoryServicelineitem::getInstance();
     $serviceLineItemFactory->createLineItem($this->getId(), $shipping);
     $this->_loadServiceLineItems();
 }