orderFactory = $orderFactory; $this->shippingAssignmentFactory = $shippingAssignmentFactory; $this->shippingBuilderFactory = $shippingBuilderFactory; } /** * @param int $orderId * @return void */ public function setOrderId($orderId) { $this->orderId = $orderId; } /** * @return int|null */ private function getOrderId() { return $this->orderId; } /** * @return ShippingAssignmentInterface[]|null */ public function create() { $shippingAssignments = null; if ($this->getOrderId()) { $order = $this->orderFactory->create()->load($this->getOrderId()); /** @var ShippingAssignmentInterface $shippingAssignment */ $shippingAssignment = $this->shippingAssignmentFactory->create(); $shipping = $this->shippingBuilderFactory->create(); $shipping->setOrderId($this->getOrderId()); $shippingAssignment->setShipping($shipping->create()); $shippingAssignment->setItems($order->getItems()); $shippingAssignment->setStockId($order->getStockId()); //for now order has only one shipping assignment $shippingAssignments = [$shippingAssignment]; } return $shippingAssignments; } }