You are here

public function WishlistManager::emptyWishlist in Commerce Wishlist 8.3

Empties the given wishlist entity.

Parameters

\Drupal\commerce_wishlist\Entity\WishlistInterface $wishlist: The wishlist entity.

bool $save_wishlist: Whether the wishlist should be saved after the operation.

Overrides WishlistManagerInterface::emptyWishlist

File

src/WishlistManager.php, line 53

Class

WishlistManager
Default implementation of the wishlist manager.

Namespace

Drupal\commerce_wishlist

Code

public function emptyWishlist(WishlistInterface $wishlist, $save_wishlist = TRUE) {
  $wishlist_items = $wishlist
    ->getItems();
  foreach ($wishlist_items as $wishlist_item) {
    $wishlist_item
      ->delete();
  }
  $wishlist
    ->setItems([]);
  $this->eventDispatcher
    ->dispatch(WishlistEvents::WISHLIST_EMPTY, new WishlistEmptyEvent($wishlist, $wishlist_items));
  if ($save_wishlist) {
    $wishlist
      ->save();
  }
}