com.fenalco.entities
Class ShoppingCart

java.lang.Object
  extended by com.fenalco.entities.ShoppingCart

public class ShoppingCart
extends java.lang.Object

Almacena los productos que el usuario va metiendo al carrito de compras


Field Summary
 java.util.Hashtable products
          Los productos que pertenecen al carrito de compras.
 
Constructor Summary
ShoppingCart()
          Constructor por omisión, crea el carrito vacio
 
Method Summary
 boolean addProduct(ShoppingCartProduct product)
          Adiciona un nuevo producto al carrito
 boolean changeQuantity(int supplierId, int supplierProductId, int newQuantity)
          Cambia la cantidad de un producto en el carrito de compras
 int containsProduct(int prodId)
           
 java.util.Hashtable createOrders(int storeId)
          Crea un objeto de tipo Order por cada uno de los proveedores que se encuentran en el carrito, le adiciona la información de los productos .
 java.util.Hashtable createQuotes(int storeId)
          Crea un objeto de tipo Quote por cada uno de los proveedores que se encuentran en el carrito, le adiciona la información de los productos .
 java.util.Hashtable getProducts()
          Getter para el atributo products.
 double getTotalPrice()
          Retorna el valor total de los productos que se encuentran en el carrito de compras
 boolean removeProduct(int supplierId, int supplierProductId)
          elimina un producto del carrito de compras
 boolean saveList(int companyId, java.lang.String listName, Transaction transaction)
          Guarda los productos contenidos en el carrito de compras como una lista
 void setProducts(java.util.Hashtable products)
          Setter para el atributo products.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

products

public java.util.Hashtable products
Los productos que pertenecen al carrito de compras. Este Hashtable está construido de la siguiente forma: - el key es el id del proveedor - el value es un Hashtable construido de la siguiente forma: - el key es el id del producto_proveedor - el value es un objeto de tipo ShoppingCartproduct () de esta forma se mantienen separados los productos de cada proveedor

Constructor Detail

ShoppingCart

public ShoppingCart()
Constructor por omisión, crea el carrito vacio

Method Detail

addProduct

public boolean addProduct(ShoppingCartProduct product)
Adiciona un nuevo producto al carrito

Parameters:
product - El producto que se va a adicionar al carrito
Returns:
booleano que indica si la operación se realizó exitosamente o no

removeProduct

public boolean removeProduct(int supplierId,
                             int supplierProductId)
elimina un producto del carrito de compras

Parameters:
productId - identificador del objeto ProductShoppingCart que se va a eliminar
Returns:
booleano que indica si la operación se realizó exitosamente o no

changeQuantity

public boolean changeQuantity(int supplierId,
                              int supplierProductId,
                              int newQuantity)
Cambia la cantidad de un producto en el carrito de compras

Parameters:
productId - Identificador del Objeto ProductShoppingCart
newQuantity - Nueva cantidad del producto
Returns:
booleano que indica si la operación se realizó exitosamente o no

saveList

public boolean saveList(int companyId,
                        java.lang.String listName,
                        Transaction transaction)
Guarda los productos contenidos en el carrito de compras como una lista

Parameters:
companyId - Identificador del minorista que crea la lista
listName - El nombre con el que se va a guardar la lista
transaction - la transacción que se está ejecutando
Returns:
booleano que indica si la operación se realizó exitosamente o no

createQuotes

public java.util.Hashtable createQuotes(int storeId)
Crea un objeto de tipo Quote por cada uno de los proveedores que se encuentran en el carrito, le adiciona la información de los productos .

Parameters:
storeId - Identificador del establecimiento al cual debe llegar el pedido
Returns:
un Hashtable: key -> id del proveedor a quien se dirije la cotización, object -> Cotización

createOrders

public java.util.Hashtable createOrders(int storeId)
Crea un objeto de tipo Order por cada uno de los proveedores que se encuentran en el carrito, le adiciona la información de los productos . Antes de adicionar los productos al pedido, se verifica que ese proveedor llegue al establecimiento indicado, de lo contrario no se puede crear el pedido.

Parameters:
user - el usuario que está realizando la transacción, este representa a la empresa que hace el pedido
storeId - Identificador del establecimiento al cual debe llegar el pedido
Returns:
un Hashtable: key -> id del proveedor a quien se dirije la orden, object -> Orden

getProducts

public java.util.Hashtable getProducts()
Getter para el atributo products.

Returns:
Value of property products.

setProducts

public void setProducts(java.util.Hashtable products)
Setter para el atributo products.

Parameters:
products - Nuevo valor para el atributo products

containsProduct

public int containsProduct(int prodId)

getTotalPrice

public double getTotalPrice()
Retorna el valor total de los productos que se encuentran en el carrito de compras