示例#1
0
 /**
  * Update item data
  *
  * @param int $itemId
  * @param array $data
  * @param null|UserInterface $user
  * @param null|string $locale
  *
  * @throws ItemNotFoundException
  *
  * @return null|Order
  */
 public function updateItem($itemId, $data, $user = null, $locale = null)
 {
     $cart = $this->getUserCart($user, $locale);
     $userId = $user ? $user->getId() : null;
     $this->validateOrCreateAddresses($cart, $user);
     $item = $this->orderManager->getOrderItemById($itemId, $cart->getEntity());
     $this->orderManager->updateItem($item, $data, $locale, $userId, $cart->getEntity());
     $this->removeOrderAddressIfContactAddressIdIsEqualTo($item, $cart->getDeliveryAddress()->getContactAddress()->getId());
     $this->orderManager->updateApiEntity($cart, $locale);
     return $cart;
 }