You are here

public function CartUnifier::assignCart in Commerce Combine Carts 8

Assign a cart to a user, possibly moving items to the user's main cart.

Parameters

\Drupal\commerce_order\Entity\OrderInterface $cart: The cart to assign.

\Drupal\user\UserInterface $user: The user.

Throws

\Drupal\Core\Entity\EntityStorageException

File

src/CartUnifier.php, line 76

Class

CartUnifier

Namespace

Drupal\commerce_combine_carts

Code

public function assignCart(OrderInterface $cart, UserInterface $user) {
  $main_carts = $this
    ->getMainCarts($user);
  if ($main_carts) {
    foreach ($main_carts as $main_cart) {
      if ($cart
        ->bundle() != $main_cart
        ->bundle()) {
        continue;
      }
      if ($this
        ->isCartRequestedForCheckout($cart)) {
        $this
          ->combineCarts($cart, $main_cart, FALSE);
      }
      else {
        $this
          ->combineCarts($main_cart, $cart, FALSE);
      }
    }
  }
}