예제 #1
0
파일: Dummy.php 프로젝트: spryker/Oms
 /**
  * @param string $processName
  *
  * @return array
  */
 public function prepareItems($processName)
 {
     $orderItemsArray = $this->getOrderItems($processName);
     $orders = [];
     $txtArray = [];
     foreach ($orderItemsArray as $orderItemArray) {
         if (!isset($orders[$orderItemArray['orderId']])) {
             $order = new SpySalesOrder();
             $order->setGrandTotal(10000);
             $order->setSubtotal(9900);
             $order->setIsTest(false);
             $address = new SpySalesOrderAddress();
             $address->setLastName('Doe');
             $address->setFirstName('John');
             $address->setCity('Berlin');
             $address->setZipCode('12345');
             $address->setAddress1('Blastr 1');
             $country = SpyCountryQuery::create()->findOneByIdCountry(1);
             $address->setCountry($country);
             $order->setBillingAddress($address);
             $order->setShippingAddress($address);
             $orders[$orderItemArray['orderId']] = $order;
         }
     }
     $states = [];
     $orderItems = [];
     foreach ($orderItemsArray as $orderItemArray) {
         if (isset($states[$orderItemArray['state']])) {
             $state = $states[$orderItemArray['state']];
         } else {
             $state = new SpyOmsOrderItemState();
             $state->setName($orderItemArray['state']);
             $state->save();
             $states[$orderItemArray['state']] = $state;
         }
         $txtArray[] = 'State: ' . $state->getName();
         $process = SpyOmsOrderProcessQuery::create()->filterByName($orderItemArray['process'])->findOneOrCreate();
         $process->setName($orderItemArray['process']);
         $process->save();
         $txtArray[] = 'Process: ' . $process->getName();
         $item = new SpySalesOrderItem();
         $item->setState($state);
         $item->setProcess($process);
         $item->setName('Testproduct');
         $item->setSku('12345ABC');
         $item->setGrossPrice(10);
         $orders[$orderItemArray['orderId']]->addItem($item);
         $orderItems[] = $item;
     }
     foreach ($orderItems as $orderItem) {
         $orderItem->save();
         $txtArray[] = 'orderItem saved: ' . $orderItem->getIdSalesOrderItem();
     }
     return $txtArray;
 }
예제 #2
0
 /**
  * @param string $processName
  *
  * @return \Orm\Zed\Oms\Persistence\SpyOmsOrderProcess
  */
 public function getProcessEntity($processName)
 {
     if (array_key_exists($processName, self::$processEntityBuffer)) {
         return self::$processEntityBuffer[$processName];
     }
     $processEntity = SpyOmsOrderProcessQuery::create()->findOneByName($processName);
     if (!isset($processEntity)) {
         $processEntity = new SpyOmsOrderProcess();
         $processEntity->setName($processName);
         $processEntity->save();
     }
     $processBuffer[$processName] = $processEntity;
     return $processEntity;
 }
예제 #3
0
 /**
  * @return \Orm\Zed\Oms\Persistence\SpyOmsOrderProcessQuery
  */
 public function createOmsOrderProcessQuery()
 {
     return SpyOmsOrderProcessQuery::create();
 }
예제 #4
0
파일: Sales.php 프로젝트: spryker/Sales
 /**
  * @param array $salesOrderItem
  *
  * @return \Orm\Zed\Oms\Persistence\SpyOmsOrderProcess
  */
 protected function getOrderProcess(array $salesOrderItem)
 {
     $expectedProcess = !empty($salesOrderItem['process']) ? $salesOrderItem['process'] : 'Nopayment01';
     $omsOrderProcessQuery = new SpyOmsOrderProcessQuery();
     $omsOrderProcessEntity = $omsOrderProcessQuery->filterByName($expectedProcess)->findOneOrCreate();
     $omsOrderProcessEntity->save();
     return $omsOrderProcessEntity;
 }