/**
  * @param int $idProductOptionValueUsage
  * @param string $localeCode
  *
  * @return \Generated\Shared\Transfer\ProductOptionTransfer
  */
 public function getProductOption($idProductOptionValueUsage, $localeCode)
 {
     $localeTransfer = $this->localeFacade->getLocale($localeCode);
     $productOptionTransfer = new ProductOptionTransfer();
     $productOptionTransfer->setIdOptionValueUsage($idProductOptionValueUsage)->setLocaleCode($localeCode);
     $result = $this->queryContainer->queryProductOptionValueUsageWithAssociatedAttributes($idProductOptionValueUsage, $localeTransfer->getIdLocale())->select([self::COL_PRICE, self::COL_TRANSLATION_TYPE, self::COL_TRANSLATION_VALUE])->findOne();
     $productOptionTransfer->setLabelOptionType($result[self::COL_TRANSLATION_TYPE]);
     $productOptionTransfer->setLabelOptionValue($result[self::COL_TRANSLATION_VALUE]);
     $price = $result[self::COL_PRICE];
     if ($price === null) {
         $productOptionTransfer->setUnitGrossPrice(0);
     } else {
         $productOptionTransfer->setUnitGrossPrice((int) $price);
     }
     return $productOptionTransfer;
 }
 /**
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItemOption $productOptionEntity
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem $salesOrderItemEntity
  *
  * @return \Generated\Shared\Transfer\ProductOptionTransfer
  */
 protected function hydrateProductOptionTransfer(SpySalesOrderItemOption $productOptionEntity, SpySalesOrderItem $salesOrderItemEntity)
 {
     $productOptionTransfer = new ProductOptionTransfer();
     $productOptionTransfer->fromArray($productOptionEntity->toArray(), true);
     $productOptionTransfer->setUnitGrossPrice($productOptionEntity->getGrossPrice());
     $productOptionTransfer->setQuantity($salesOrderItemEntity->getQuantity());
     $refundableAmount = $this->getRefundableAmount($productOptionTransfer, $productOptionEntity);
     $productOptionTransfer->setRefundableAmount($refundableAmount);
     return $productOptionTransfer;
 }
示例#3
0
 /**
  * @param \Orm\Zed\Sales\Persistence\SpySalesOrderItem $orderItemEntity
  *
  * @return \Generated\Shared\Transfer\ItemTransfer
  */
 public function hydrateOrderItemTransfer(SpySalesOrderItem $orderItemEntity)
 {
     $itemTransfer = new ItemTransfer();
     $itemTransfer->fromArray($orderItemEntity->toArray(), true);
     $itemTransfer->setProcess($orderItemEntity->getProcess()->getName());
     $itemTransfer->setUnitGrossPrice($orderItemEntity->getGrossPrice());
     $this->hydrateStateHistory($orderItemEntity, $itemTransfer);
     $this->hydrateCurrentSalesOrderItemState($orderItemEntity, $itemTransfer);
     foreach ($orderItemEntity->getOptions() as $orderItemOptionEntity) {
         $productOptionsTransfer = new ProductOptionTransfer();
         $productOptionsTransfer->setUnitGrossPrice($orderItemOptionEntity->getGrossPrice());
         $productOptionsTransfer->fromArray($orderItemOptionEntity->toArray(), true);
         $itemTransfer->addProductOption($productOptionsTransfer);
     }
     return $itemTransfer;
 }
 /**
  * @param \Generated\Shared\Transfer\ProductOptionTransfer $productOptionTransfer
  *
  * @return void
  */
 protected function assertProductOptionRequirements(ProductOptionTransfer $productOptionTransfer)
 {
     $productOptionTransfer->requireQuantity();
 }
 /**
  * @param int $idOptionValueUsage
  *
  * @return \Generated\Shared\Transfer\ProductOptionTransfer
  */
 protected function createProductOption($idOptionValueUsage)
 {
     $productOption1 = new ProductOptionTransfer();
     $productOption1->setIdOptionValueUsage($idOptionValueUsage);
     return $productOption1;
 }