Example #1
0
 /**
  * @param array $orderItems
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity
  * @param \Spryker\Zed\Oms\Business\Util\ReadOnlyArrayObject $data
  *
  * @return array $returnArray
  */
 public function run(array $orderItems, SpySalesOrder $orderEntity, ReadOnlyArrayObject $data)
 {
     /** @var \Orm\Zed\Payone\Persistence\SpyPaymentPayone $paymentEntity */
     $paymentEntity = $orderEntity->getSpyPaymentPayones()->getFirst();
     $this->getFacade()->authorizePayment($paymentEntity->getFkSalesOrder());
     return [];
 }
 /**
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity
  *
  * @return array
  */
 protected function getVoucherCodes(SpySalesOrder $orderEntity)
 {
     $voucherCodes = [];
     foreach ($orderEntity->getDiscounts() as $discountEntity) {
         foreach ($discountEntity->getDiscountCodes() as $salesDiscountCodesEntity) {
             $voucherCodes[$salesDiscountCodesEntity->getCode()] = $salesDiscountCodesEntity->getCode();
         }
     }
     return $voucherCodes;
 }
Example #3
0
 /**
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem[] $orderItems
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity
  * @param \Spryker\Zed\Oms\Business\Util\ReadOnlyArrayObject $data
  *
  * @return array
  */
 public function run(array $orderItems, SpySalesOrder $orderEntity, ReadOnlyArrayObject $data)
 {
     $config = $this->getFactory()->getConfig();
     $mailTransfer = new MailTransfer();
     $mailTransfer->setTemplateName($config->getEmailTemplateName());
     $this->addMailRecipient($mailTransfer, $orderEntity->getEmail());
     $this->addMailRecipient($mailTransfer, $this->getPayolutionBccEmail($config));
     $this->setMailTransferFrom($mailTransfer, $config);
     $this->setMailTransferSubject($mailTransfer, $config);
     $mailFacade = $this->getFactory()->getMailFacade();
     $mailFacade->sendMail($mailTransfer);
     return [];
 }
Example #4
0
 /**
  * @param array $orderItems
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity
  * @param \Spryker\Zed\Oms\Business\Util\ReadOnlyArrayObject $data
  *
  * @return array Array
  */
 public function run(array $orderItems, SpySalesOrder $orderEntity, ReadOnlyArrayObject $data)
 {
     $payoneRefundTransfer = new PayoneRefundTransfer();
     $orderTransfer = new OrderTransfer();
     $orderTransfer->fromArray($orderEntity->toArray(), true);
     $refundTransfer = $this->getFactory()->getRefundFacade()->calculateRefund($orderItems, $orderEntity);
     $payoneRefundTransfer->setAmount($refundTransfer->getAmount() * -1);
     $paymentPayoneEntity = $orderEntity->getSpyPaymentPayones()->getFirst();
     $payonePaymentTransfer = new PayonePaymentTransfer();
     $payonePaymentTransfer->fromArray($paymentPayoneEntity->toArray(), true);
     $payoneRefundTransfer->setPayment($payonePaymentTransfer);
     $payoneRefundTransfer->setUseCustomerdata(PayoneApiConstants::USE_CUSTOMER_DATA_YES);
     $narrativeText = $this->getFactory()->getConfig()->getNarrativeText($orderItems, $orderEntity, $data);
     $payoneRefundTransfer->setNarrativeText($narrativeText);
     $this->getFacade()->refundPayment($payoneRefundTransfer);
     return [];
 }
 /**
  * @return \Generated\Shared\Transfer\OrderTransfer
  */
 protected function createOrderTransferMock()
 {
     $totalsTransfer = new TotalsTransfer();
     $totalsTransfer->setGrandTotal(10000);
     $orderTransfer = new OrderTransfer();
     $orderTransfer->fromArray($this->orderEntity->toArray(), true);
     $orderTransfer->setTotals($totalsTransfer);
     return $orderTransfer;
 }
 /**
  * @return \Generated\Shared\Transfer\OrderTransfer
  */
 protected function createOrderTransfer()
 {
     $orderTransfer = new OrderTransfer();
     $totalTransfer = new TotalsTransfer();
     $totalTransfer->setGrandTotal(1000);
     $orderTransfer->setTotals($totalTransfer);
     $orderTransfer->setIdSalesOrder($this->orderEntity->getIdSalesOrder());
     return $orderTransfer;
 }
Example #7
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;
 }
Example #8
0
 /**
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity
  *
  * @return \Generated\Shared\Transfer\OrderTransfer
  */
 protected function getOrderTransfer(SpySalesOrder $salesOrderEntity)
 {
     $orderTransfer = $this->salesAggregatorFacade->getOrderTotalsByIdSalesOrder($salesOrderEntity->getIdSalesOrder());
     return $orderTransfer;
 }
Example #9
0
 /**
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity
  *
  * @return \Orm\Zed\Payolution\Persistence\SpyPaymentPayolution
  */
 protected function getPaymentEntity(SpySalesOrder $orderEntity)
 {
     $paymentEntity = $orderEntity->getSpyPaymentPayolutions()->getFirst();
     return $paymentEntity;
 }
Example #10
0
 /**
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity
  *
  * @return void
  */
 protected function addShipmentExpense(SpySalesOrder $salesOrderEntity)
 {
     $shipmentEntity = $salesOrderEntity->getShipmentMethod();
     $shipmentExpense = new SpySalesExpense();
     $shipmentExpense->setFkSalesOrder($salesOrderEntity->getIdSalesOrder());
     $shipmentExpense->setName($shipmentEntity->getName());
     $shipmentExpense->setType(ShipmentConstants::SHIPMENT_EXPENSE_TYPE);
     $shipmentExpense->setGrossPrice($shipmentEntity->getDefaultPrice());
     $shipmentExpense->save();
 }
Example #11
0
 /**
  * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity
  *
  * @return void
  */
 protected function hydrateEntityFromOrderTransfer(OrderTransfer $orderTransfer, SpySalesOrder $orderEntity)
 {
     $orderEntity->fromArray($orderTransfer->modifiedToArray());
 }
Example #12
0
 /**
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $order
  * @param string $flag
  * @param bool $hasFlag
  *
  * @return \Orm\Zed\Sales\Persistence\SpySalesOrderItem[]
  */
 protected function getItemsByFlag(SpySalesOrder $order, $flag, $hasFlag)
 {
     $items = $order->getItems();
     $states = $this->getStatesByFlag($items->getFirst()->getProcess()->getName(), $flag, $hasFlag);
     $selectedItems = [];
     foreach ($items as $item) {
         if (array_key_exists($item->getState()->getName(), $states)) {
             $selectedItems[] = $item;
         }
     }
     return $selectedItems;
 }
 /**
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity
  *
  * @return \Generated\Shared\Transfer\OrderTransfer
  */
 protected function getOrderTransfer(SpySalesOrder $orderEntity)
 {
     $orderTransfer = new OrderTransfer();
     $orderTransfer->fromArray($orderEntity->toArray(), true);
     return $orderTransfer;
 }
Example #14
0
 /**
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity
  *
  * @return void
  */
 protected function createSalesExpense(SpySalesOrder $salesOrderEntity)
 {
     $salesExpenseEntity = new SpySalesExpense();
     $salesExpenseEntity->setName('shipping test');
     $salesExpenseEntity->setTaxRate(19);
     $salesExpenseEntity->setGrossPrice(100);
     $salesExpenseEntity->setFkSalesOrder($salesOrderEntity->getIdSalesOrder());
     $salesExpenseEntity->save();
 }
 /**
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $order
  * @return \Generated\Shared\Transfer\ZeroPaymentConditionCheckTransfer
  */
 protected function createConditionTransfer(SpySalesOrder $order)
 {
     $conditionCheckTransfer = new ZeroPaymentConditionCheckTransfer();
     $conditionCheckTransfer->setFkSalesOrder($order->getPrimaryKey());
     return $conditionCheckTransfer;
 }
Example #16
0
 /**
  * @param \Generated\Shared\Transfer\CheckoutResponseTransfer $checkoutResponseTransfer
  * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity
  *
  * @return void
  */
 protected function hydrateCheckoutResponseTransfer(CheckoutResponseTransfer $checkoutResponseTransfer, QuoteTransfer $quoteTransfer, SpySalesOrder $salesOrderEntity)
 {
     $saveOrderTransfer = $this->getSaveOrderTransfer($checkoutResponseTransfer);
     $this->hydrateSaveOrderTransfer($saveOrderTransfer, $quoteTransfer);
     $saveOrderTransfer->fromArray($salesOrderEntity->toArray(), true);
     $checkoutResponseTransfer->setSaveOrder($saveOrderTransfer);
 }
Example #17
0
 /**
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity
  * @param \Generated\Shared\Transfer\OrderTransfer $orderTransfer
  *
  * @return void
  */
 protected function hydrateExpensesToOrderTransfer(SpySalesOrder $orderEntity, OrderTransfer $orderTransfer)
 {
     foreach ($orderEntity->getExpenses() as $expenseEntity) {
         $expenseTransfer = new ExpenseTransfer();
         $expenseTransfer->fromArray($expenseEntity->toArray(), true);
         $expenseTransfer->setUnitGrossPrice($expenseEntity->getGrossPrice());
         $orderTransfer->addExpense($expenseTransfer);
     }
 }
Example #18
0
 /**
  * @param array $orderItems
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity
  * @param \Spryker\Zed\Oms\Business\Util\ReadOnlyArrayObject $data
  *
  * @return array $returnArray
  */
 public function run(array $orderItems, SpySalesOrder $orderEntity, ReadOnlyArrayObject $data)
 {
     $paymentEntity = $orderEntity->getSpyPaymentPayones()->getFirst();
     $this->getFacade()->preAuthorizePayment($paymentEntity->getFkSalesOrder());
     return [];
 }
Example #19
0
 /**
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem[] $orderItems
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity
  * @param \Spryker\Zed\Oms\Business\Util\ReadOnlyArrayObject $data
  *
  * @return array
  */
 public function run(array $orderItems, SpySalesOrder $orderEntity, ReadOnlyArrayObject $data)
 {
     $message = sprintf('Command SendOrderConfirmation by Order for Order %s (%s items)', $orderEntity->getIdSalesOrder(), count($orderItems));
     Log::log($message, 'statemachine.log');
     return [];
 }
Example #20
0
 /**
  * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $salesOrderEntity
  *
  * @return void
  */
 protected function addShippingDetailsToOrder(QuoteTransfer $quoteTransfer, SpySalesOrder $salesOrderEntity)
 {
     $shipmentMethodTransfer = $quoteTransfer->getShipment()->getMethod();
     $salesOrderEntity->setFkShipmentMethod($shipmentMethodTransfer->getIdShipmentMethod());
     $salesOrderEntity->setShipmentDeliveryTime($shipmentMethodTransfer->getDeliveryTime());
 }
Example #21
0
 /**
  * @param array $orderItems
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrder $orderEntity
  * @param \Spryker\Zed\Oms\Business\Util\ReadOnlyArrayObject $data
  *
  * @return string
  */
 public function getNarrativeText(array $orderItems, SpySalesOrder $orderEntity, ReadOnlyArrayObject $data)
 {
     return $orderEntity->getOrderReference();
 }