Esempio n. 1
0
 /**
  * @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;
 }
Esempio n. 2
0
 /**
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity
  *
  * @return void
  */
 protected function addAddresses(SpySalesOrder $salesOrderEntity)
 {
     $billingAddressEntity = $salesOrderEntity->getBillingAddress();
     if ($billingAddressEntity === null) {
         $billingAddressEntity = $this->createBillingAddress();
         $salesOrderEntity->setBillingAddress($billingAddressEntity);
     }
     $shippingAddressEntity = $salesOrderEntity->getShippingAddress();
     if ($shippingAddressEntity === null) {
         $salesOrderEntity->setShippingAddress($billingAddressEntity);
     }
 }
Esempio n. 3
0
 /**
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrderAddress $salesOrderAddressEntity
  *
  * @return \Orm\Zed\Sales\Persistence\SpySalesOrder
  */
 protected function createSpySalesOrderEntity(SpySalesOrderAddress $salesOrderAddressEntity)
 {
     $shipmentMethodEntity = SpyShipmentMethodQuery::create()->findOne();
     $customerEntity = $this->createCustomer();
     $salesOrderEntity = new SpySalesOrder();
     $salesOrderEntity->setCustomer($customerEntity);
     $salesOrderEntity->setBillingAddress($salesOrderAddressEntity);
     $salesOrderEntity->setShippingAddress(clone $salesOrderAddressEntity);
     $salesOrderEntity->setShipmentMethod($shipmentMethodEntity);
     $salesOrderEntity->setOrderReference('123');
     $salesOrderEntity->save();
     return $salesOrderEntity;
 }
Esempio n. 4
0
 /**
  * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity
  *
  * @return void
  */
 protected function hydrateAddresses(QuoteTransfer $quoteTransfer, SpySalesOrder $salesOrderEntity)
 {
     $billingAddressEntity = $this->saveSalesOrderAddress($quoteTransfer->getBillingAddress());
     $shippingAddressEntity = $this->saveSalesOrderAddress($quoteTransfer->getShippingAddress());
     $salesOrderEntity->setBillingAddress($billingAddressEntity);
     $salesOrderEntity->setShippingAddress($shippingAddressEntity);
 }