@Override public MergeCartResponse mergeCart(Customer customer, Order anonymousCart) throws PricingException, RemoveFromCartException { return mergeCart(customer, anonymousCart, true); }
@Override public ReconstructCartResponse reconstructCart(Customer customer) throws PricingException, RemoveFromCartException { return reconstructCart(customer, true); }
if (orderItem instanceof DiscreteOrderItem) { DiscreteOrderItem doi = (DiscreteOrderItem) orderItem; if (!checkActive(doi) || !checkInventory(doi) || !checkOtherValidity(orderItem)) { itemsToRemove.add(orderItem); BundleOrderItem bundleOrderItem = (BundleOrderItem) orderItem; for (DiscreteOrderItem doi : bundleOrderItem.getDiscreteOrderItems()) { if (!checkActive(doi) || !checkInventory(doi) || !checkOtherValidity(orderItem)) { itemsToRemove.add(doi.getBundleOrderItem());
ReconstructCartResponse reconstructCartResponse = reconstructCart(customer, false); mergeCartResponse.setRemovedItems(reconstructCartResponse.getRemovedItems()); Order customerCart = reconstructCartResponse.getOrder(); setNewCartOwnership(anonymousCart, customer); mergeCartResponse.setOrder(anonymousCart); } else if (anonymousCart == null || anonymousCart.getOrderItems().size() == 0) { setNewCartOwnership(anonymousCart, customer); mergeCartResponse.setOrder(anonymousCart); } else { setSavedCartAttributes(customerCart); orderService.save(customerCart, false); setNewCartOwnership(anonymousCart, customer); mergeCartResponse.setOrder(anonymousCart);