/** * @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; }
/** * @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; }