/** * @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 \Orm\Zed\Sales\Persistence\SpySalesOrderItem $orderItem * * @return string */ public function getStateDisplayName(SpySalesOrderItem $orderItem) { $processName = $orderItem->getProcess()->getName(); $builder = clone $this->builder; $process = $builder->createProcess($processName); $stateName = $orderItem->getState()->getName(); $state = $process->getState($stateName); return $state->getDisplay(); }