/** * [handle description] * * @param CartRepository $repository * * @return Cart */ public function handle(CartRepository $repository, UserRepository $userRepository) { $user = $userRepository->find($this->user_id); $cart = new Cart($user); $repository->create($cart); return $cart; }
/** * [handle description] * * @param CartRepository $repository * * @return Cart */ public function handle(CartRepository $repository, InventoryItemRepository $itemRepository) { $inventoryItem = $itemRepository->get($this->item_id); $cart = $repository->get($this->cart_id); Assertion::notNull($cart, 'Invalid shopping cart'); Assertion::notNull($inventoryItem, 'Invalid item to purchase'); $item = $cart->addItem($inventoryItem, $this->quantity); $repository->update($cart); return $item; }