/** * */ package com.salesmanager.shop.store.controller.shoppingCart.facade; import com.salesmanager.core.model.customer.Customer; import com.salesmanager.core.model.merchant.MerchantStore; import com.salesmanager.core.model.reference.language.Language; import com.salesmanager.core.model.shoppingcart.ShoppingCart; import com.salesmanager.shop.model.shoppingcart.ShoppingCartData; import com.salesmanager.shop.model.shoppingcart.ShoppingCartItem; import java.util.List; /** * </p>Shopping cart Facade which provide abstraction layer between * SM core module and Controller. * Only Data Object will be exposed to controller by hiding model * object from view.</p> * @author Umesh Awasthi * @version 1.2 * @since1.2 * */ public interface ShoppingCartFacade { public ShoppingCartData addItemsToShoppingCart(ShoppingCartData shoppingCart,final ShoppingCartItem item, final MerchantStore store,final Language language,final Customer customer) throws Exception; public ShoppingCart createCartModel(final String shoppingCartCode, final MerchantStore store,final Customer customer) throws Exception; /** * Method responsible for getting shopping cart from * either session or from underlying DB. */ public ShoppingCartData getShoppingCartData(final Customer customer,final MerchantStore store,final String shoppingCartId) throws Exception; public ShoppingCartData getShoppingCartData(final ShoppingCart shoppingCart) throws Exception; public ShoppingCartData getShoppingCartData(String code, MerchantStore store) throws Exception; public ShoppingCartData removeCartItem(final Long itemID, final String cartId,final MerchantStore store,final Language language ) throws Exception; public ShoppingCartData updateCartItem(final Long itemID, final String cartId, final long quantity,final MerchantStore store,Language language ) throws Exception; public void deleteShoppingCart(final Long id, final MerchantStore store) throws Exception; ShoppingCartData updateCartItems(List<ShoppingCartItem> shoppingCartItems, MerchantStore store, Language language) throws Exception; public ShoppingCart getShoppingCartModel(final String shoppingCartCode, MerchantStore store) throws Exception; public ShoppingCart getShoppingCartModel(final Customer customer, MerchantStore store) throws Exception; void deleteShoppingCart(String code, MerchantStore store) throws Exception; void saveOrUpdateShoppingCart(ShoppingCart cart) throws Exception; }