/** * {@inheritdoc} */ public function getList($cartId) { $output = []; /** @var \Magento\Sales\Model\Quote $quote */ $quote = $this->quoteRepository->get($cartId); /** @var \Magento\Sales\Model\Quote\Item $item */ foreach ($quote->getAllItems() as $item) { $output[] = $this->itemMapper->extractDto($item); } return $output; }
/** * {@inheritdoc} */ public function removeItem($cartId, $itemId) { /** @var \Magento\Sales\Model\Quote $quote */ $quote = $this->quoteRepository->get($cartId); $quoteItem = $quote->getItemById($itemId); if (!$quoteItem) { throw new NoSuchEntityException("Cart {$cartId} doesn't contain item {$itemId}"); } try { $quote->removeItem($itemId); $quote->collectTotals()->save(); } catch (\Exception $e) { throw new CouldNotSaveException('Could not remove item from quote'); } return true; }