package oracle.fodemo.storefront.store.service.client;

import java.util.List;
import java.util.Map;

import java.util.Set;

import oracle.fodemo.storefront.store.service.common.StoreServiceAM;

import oracle.jbo.Row;
import oracle.jbo.client.remote.ApplicationModuleImpl;
import oracle.jbo.domain.Number;
// ---------------------------------------------------------------------
// ---    File generated by Oracle ADF Business Components Design Time.
// ---    Custom code may be added to this class.
// ---    Warning: Do not modify method signatures of generated methods.
// ---------------------------------------------------------------------
public class StoreServiceAMClient extends ApplicationModuleImpl implements StoreServiceAM {
    /**This is the default constructor (do not remove).
     */
    public StoreServiceAMClient() {
    }


    public void updateUserInterests(List pCategoryIds) {
        Object _ret = 
            this.riInvokeExportedMethod(this,"updateUserInterests",new String [] {"java.util.List"},new Object[] {pCategoryIds});
        return;
    }


    public void syncShoppingCartForAuthenticatedUser(Map productIdsAndQuantities) {
        Object _ret =
            this.riInvokeExportedMethod(this,"syncShoppingCartForAuthenticatedUser",new String [] {"java.util.Map"},new Object[] {productIdsAndQuantities});
        return;
    }

    public void deleteCurrentMyOrderItem() {
        Object _ret =
            this.riInvokeExportedMethod(this,"deleteCurrentMyOrderItem",null,null);
        return;
    }

    public void executeMyOrdersForCustomerVO() {
        Object _ret =
            this.riInvokeExportedMethod(this,"executeMyOrdersForCustomerVO",null,null);
        return;
    }

    public void setAuthenticatedUser(String userPrincipal) {
        Object _ret =
            this.riInvokeExportedMethod(this,"setAuthenticatedUser",new String [] {"java.lang.String"},new Object[] {userPrincipal});
        return;
    }

    public void userRegistrationCreate(String userType) {
        Object _ret =
            this.riInvokeExportedMethod(this,"userRegistrationCreate",new String [] {"java.lang.String"},new Object[] {userType});
        return;
    }

    public void userRegistrationCreateAddress() {
        Object _ret =
            this.riInvokeExportedMethod(this,"userRegistrationCreateAddress",null,null);
        return;
    }

    public void updateShoppingCartItem(Integer productId, Integer quantity) {
        Object _ret =
            this.riInvokeExportedMethod(this,"updateShoppingCartItem",new String [] {"java.lang.Integer","java.lang.Integer"},new Object[] {productId, quantity});
        return;
    }

    public Row setAuthenticatedUser() {
        Object _ret =
            this.riInvokeExportedMethod(this,"setAuthenticatedUser",null,null);
        return (Row)_ret;
    }

    public void removeShoppingCartItem(Integer productId) {
        Object _ret =
            this.riInvokeExportedMethod(this,"removeShoppingCartItem",new String [] {"java.lang.Integer"},new Object[] {productId});
        return;
    }

    public void removeAllShoppingCartItems() {
        Object _ret =
            this.riInvokeExportedMethod(this,"removeAllShoppingCartItems",null,null);
        return;
    }

    public void addShoppingCartItem(Integer productId, Integer quantity) {
        Object _ret =
            this.riInvokeExportedMethod(this,"addShoppingCartItem",new String [] {"java.lang.Integer","java.lang.Integer"},new Object[] {productId, quantity});
        return;
    }

    public Long findShoppingCartIdForUser(String principalName) {
        Object _ret =
            this.riInvokeExportedMethod(this,"findShoppingCartIdForUser",new String [] {"java.lang.String"},new Object[] {principalName});
        return (Long)_ret;
    }

    public Long findCustomerIdByPrincipalName(String principalName) {
        Object _ret =
            this.riInvokeExportedMethod(this,"findCustomerIdByPrincipalName",new String [] {"java.lang.String"},new Object[] {principalName});
        return (Long)_ret;
    }

    public void reconcileShoppingCart() {
        Object _ret =
            this.riInvokeExportedMethod(this,"reconcileShoppingCart",null,null);
        return;
    }

    public void addItemToCart(Integer productId, Integer quantity) {
        Object _ret =
            this.riInvokeExportedMethod(this,"addItemToCart",new String [] {"java.lang.Integer","java.lang.Integer"},new Object[] {productId, quantity});
        return;
    }

    public void removeAllItemsFromCart() {
        Object _ret =
            this.riInvokeExportedMethod(this,"removeAllItemsFromCart",null,null);
        return;
    }

    public void removeItemFromCart(Integer productId) {
        Object _ret =
            this.riInvokeExportedMethod(this,"removeItemFromCart",new String [] {"java.lang.Integer"},new Object[] {productId});
        return;
    }

    public void updateItemInCart(Integer productId, Integer quantity,
                                 Boolean isSet) {
        Object _ret =
            this.riInvokeExportedMethod(this,"updateItemInCart",new String [] {"java.lang.Integer","java.lang.Integer","java.lang.Boolean"},new Object[] {productId, quantity, isSet});
        return;
    }

    public void changeOrderStatus(Number orderId, String statusCode) {
        Object _ret =
            this.riInvokeExportedMethod(this,"changeOrderStatus",new String [] {"oracle.jbo.domain.Number","java.lang.String"},new Object[] {orderId, statusCode});
        return;
    }
}
