/** * @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; }
/** * @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; }
/** * @return \Orm\Zed\Oms\Persistence\SpyOmsOrderProcessQuery */ public function createOmsOrderProcessQuery() { return SpyOmsOrderProcessQuery::create(); }
/** * @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; }