/** * @param CartInterface $quote * @return CartInterface */ public function load(CartInterface $quote) { if (!$quote->getIsActive()) { return $quote; } /** @var \Magento\Quote\Model\Quote $quote */ $quote->setItems($quote->getAllVisibleItems()); $shippingAssignments = []; if (!$quote->isVirtual() && $quote->getItemsQty() > 0) { $shippingAssignments[] = $this->shippingAssignmentProcessor->create($quote); } $cartExtension = $quote->getExtensionAttributes(); if ($cartExtension === null) { $cartExtension = $this->cartExtensionFactory->create(); } $cartExtension->setShippingAssignments($shippingAssignments); $quote->setExtensionAttributes($cartExtension); return $quote; }
/** * @param CartInterface $quote * @param ShippingAssignmentInterface $shippingAssignment * @return void */ public function save(CartInterface $quote, ShippingAssignmentInterface $shippingAssignment) { if ($quote->getIsActive()) { $this->shippingAssignmentProcessor->save($quote, $shippingAssignment); } }