public function saveCart(CartEvent $event) { $cart = $event->getCart(); $errors = $this->validator->validate($cart); $valid = 0 === count($errors); if ($valid) { $this->cartManager->persist($cart); $this->cartManager->flush(); $this->cartProvider->setCart($cart); } }
/** * * @param UserInterface $user */ public function merge(UserInterface $user) { $cart = $this->cartProvider->getCart(); if (!$cart->isEmpty()) { $this->userCartProvider->setCart($cart); } else { $userCart = $this->userCartProvider->getCart(); if ($userCart !== null && !$userCart->isEmpty()) { $this->cartContext->setCurrentCartIdentifier($userCart); } } $this->em->flush(); }