Esempio n. 1
0
File: Oms.php Progetto: spryker/Oms
 /**
  * @param int $idSalesOrderItem
  * @param string $stateName
  *
  * @return void
  */
 public function setItemState($idSalesOrderItem, $stateName)
 {
     $salesOrderItemQuery = new SpySalesOrderItemQuery();
     $salesOrderItemEntity = $salesOrderItemQuery->findOneByIdSalesOrderItem($idSalesOrderItem);
     $orderItemStateQuery = new SpyOmsOrderItemStateQuery();
     $orderItemStateEntity = $orderItemStateQuery->filterByName($stateName)->findOneOrCreate();
     $orderItemStateEntity->save();
     $salesOrderItemEntity->setState($orderItemStateEntity);
     $salesOrderItemEntity->save();
 }
Esempio n. 2
0
 /**
  * @param \Symfony\Component\HttpFoundation\Request $request
  *
  * @return \Symfony\Component\HttpFoundation\Response
  */
 public function drawItemAction(Request $request)
 {
     $id = $this->castId($request->query->get('id'));
     $format = $request->query->get('format', self::DEFAULT_FORMAT);
     $fontSize = $request->query->getInt('font', self::DEFAULT_FONT_SIZE);
     $orderItem = SpySalesOrderItemQuery::create()->findOneByIdSalesOrderItem($id);
     $processEntity = $orderItem->getProcess();
     return new Response($this->getFacade()->drawProcess($processEntity->getName(), $orderItem->getState()->getName(), $format, $fontSize));
 }
Esempio n. 3
0
 /**
  * @param \Spryker\Zed\Payone\Business\Api\TransactionStatus\TransactionStatusResponse $response
  * @param int $transactionId
  * @param array $dataArray
  *
  * @return void
  */
 protected function triggerEventsOnSuccess(TransactionStatusResponse $response, $transactionId, array $dataArray)
 {
     if (!$response->isSuccess()) {
         return;
     }
     //TODO: Refactor as per CD-380
     $orderItems = SpySalesOrderItemQuery::create()->useOrderQuery()->useSpyPaymentPayoneQuery()->filterByTransactionId($transactionId)->endUse()->endUse()->find();
     $this->getFactory()->getOmsFacade()->triggerEvent('PaymentNotificationReceived', $orderItems, []);
     if ($dataArray['txaction'] === PayoneConstants::PAYONE_TXACTION_APPOINTED) {
         $this->getFactory()->getOmsFacade()->triggerEvent('RedirectResponseAppointed', $orderItems, []);
     }
 }
Esempio n. 4
0
 /**
  * @return void
  */
 public function testSaveOrderCreatesAndFillsOrderItems()
 {
     $quoteTransfer = $this->getValidBaseQuoteTransfer();
     $initialState = SpyOmsOrderItemStateQuery::create()->filterByName(OmsConstants::INITIAL_STATUS)->findOneOrCreate();
     $initialState->save();
     $this->assertNotNull($initialState->getIdOmsOrderItemState());
     $item1 = new ItemTransfer();
     $item1->setName('item-test-1')->setSku('sku1')->setUnitGrossPrice(120)->setQuantity(2)->setTaxRate(19);
     $item2 = new ItemTransfer();
     $item2->setName('item-test-2')->setSku('sku2')->setUnitGrossPrice(130)->setQuantity(3)->setTaxRate(19);
     $quoteTransfer->addItem($item1);
     $quoteTransfer->addItem($item2);
     $item1Query = SpySalesOrderItemQuery::create()->filterByName('item-test-1');
     $item2Query = SpySalesOrderItemQuery::create()->filterByName('item-test-2');
     $checkoutResponseTransfer = $this->getValidBaseResponseTransfer();
     $this->salesFacade->saveOrder($quoteTransfer, $checkoutResponseTransfer);
     $savedItems = $checkoutResponseTransfer->getSaveOrder()->getOrderItems();
     $item1Entity = $item1Query->findOne();
     $item2Entity = $item2Query->findOne();
     $this->assertNotNull($item1Entity);
     $this->assertNotNull($item2Entity);
     $this->assertSame($savedItems[1]->getIdSalesOrderItem(), $item1Entity->getIdSalesOrderItem());
     $this->assertSame($item1->getName(), $item1Entity->getName());
     $this->assertSame($checkoutResponseTransfer->getSaveOrder()->getIdSalesOrder(), $item1Entity->getFkSalesOrder());
     $this->assertSame($initialState->getIdOmsOrderItemState(), $item1Entity->getFkOmsOrderItemState());
     $this->assertSame($item1->getSku(), $item1Entity->getSku());
     $this->assertSame($savedItems[1]->getUnitGrossPrice(), $item1Entity->getGrossPrice());
     $this->assertSame(1, $item1Entity->getQuantity());
     $this->assertSame($savedItems[3]->getIdSalesOrderItem(), $item2Entity->getIdSalesOrderItem());
     $this->assertSame($item2->getName(), $item2Entity->getName());
     $this->assertSame($checkoutResponseTransfer->getSaveOrder()->getIdSalesOrder(), $item2Entity->getFkSalesOrder());
     $this->assertSame($initialState->getIdOmsOrderItemState(), $item2Entity->getFkOmsOrderItemState());
     $this->assertSame($item2->getSku(), $item2Entity->getSku());
     $this->assertSame($savedItems[3]->getUnitGrossPrice(), $item2Entity->getGrossPrice());
     $this->assertSame(1, $item2Entity->getQuantity());
 }
Esempio n. 5
0
 /**
  * @return \Orm\Zed\Sales\Persistence\SpySalesOrderItemQuery
  */
 public function createSalesOrderItemQuery()
 {
     return SpySalesOrderItemQuery::create();
 }
Esempio n. 6
0
 /**
  * @return void
  */
 public function testCheckoutTriggersStateMachine()
 {
     $quoteTransfer = $this->getBaseQuoteTransfer();
     $this->checkoutFacade->placeOrder($quoteTransfer);
     $orderItem1Query = SpySalesOrderItemQuery::create()->filterBySku('OSB1337');
     $orderItem2Query = SpySalesOrderItemQuery::create()->filterBySku('OSB1338');
     $orderItem1 = $orderItem1Query->findOne();
     $orderItem2 = $orderItem2Query->findOne();
     $this->assertNotNull($orderItem1);
     $this->assertNotNull($orderItem2);
     $this->assertNotEquals(OmsConstants::INITIAL_STATUS, $orderItem1->getState()->getName());
     $this->assertEquals('waiting for payment', $orderItem2->getState()->getName());
 }
Esempio n. 7
0
 /**
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItemQuery $filterQuery
  * @param string $filter
  *
  * @return void
  */
 protected function addRangeFilter(SpySalesOrderItemQuery $filterQuery, $filter)
 {
     if ($filter === self::FILTER_DAY) {
         $filterQuery->filterByLastStateChange(new \DateTime('-1 day'), Criteria::GREATER_EQUAL);
     } elseif ($filter === self::FILTER_WEEK) {
         $filterQuery->filterByLastStateChange(new \DateTime('-1 day'), Criteria::LESS_THAN);
         $filterQuery->filterByLastStateChange(new \DateTime('-7 day'), Criteria::GREATER_EQUAL);
     } else {
         $filterQuery->filterByLastStateChange(new \DateTime('-7 day'), Criteria::LESS_THAN);
     }
 }