/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package facturacion.tablas.helperTabla;
import entidades.Cliente;
import entidades.DetalleFactura;
import entidades.Factura;
import entidades.Producto;
import facturacion.ConstantesFactura;
import java.io.Serializable;
import java.util.HashMap;
/**
*Esta clase se encarga de cargar un HashMap con los valores de una entidad con el fin de luego accederlas
* a travez del nombre de columna.
* @author marcelo
*/
public class TableEntityHelper{
public static void getProperties(Serializable entity,HashMap<String,String> campos) {
if(entity instanceof Cliente){
campos.clear();
Cliente c = (Cliente) entity;
campos.put(ConstantesFactura.CLIENTE_DIRECCION, c.getDireccion());
campos.put(ConstantesFactura.CLIENTE_APELLIDO,c.getApellido());
campos.put(ConstantesFactura.CLIENTE_NOMBRE, c.getNombre());
campos.put(ConstantesFactura.CLIENTE_CUIT, c.getCuit());
campos.put(ConstantesFactura.CLIENTE_IVA, c.getIva().getDescripcion());
campos.put(ConstantesFactura.CLIENTE_ID,String.valueOf(c.getId()));
}else if(entity instanceof Producto){
campos.clear();
Producto p = (Producto) entity;
campos.put(ConstantesFactura.PRODUCTO_ID,String.valueOf(p.getId()));
campos.put(ConstantesFactura.PRODUCTO_NOMBRE,p.getNombre());
campos.put(ConstantesFactura.PRODUCTO_DESCRIPCION,p.getDescripcion());
campos.put(ConstantesFactura.PRODUCTO_COSTO,String.valueOf(p.getCosto()));
campos.put(ConstantesFactura.PRODUCTO_PRECIO_SUGERIDO,String.valueOf(p.getPrecio()));
}else if(entity instanceof DetalleFactura){
campos.clear();
DetalleFactura d = (DetalleFactura) entity;
campos.put(ConstantesFactura.DETALLE_ID,String.valueOf(d.getId()));
campos.put(ConstantesFactura.DETALLE_CANTIDAD_PEDIDA,String.valueOf(d.getCantidadPedida()));
campos.put(ConstantesFactura.DETALLE_SUB_TOTAL,String.valueOf(d.getTotalPorCantidad()));
campos.put(ConstantesFactura.DETALLE_FACTURA,d.getFactura().getLetra() +"-" + String.valueOf(d.getFactura().getNumero()));
campos.put(ConstantesFactura.DETALLE_PRODUCTO,d.getProducto().getDescripcion());
campos.put(ConstantesFactura.DETALLE_PRECIO_VTA,String.valueOf(d.getPrecioVenta()));
}else if(entity instanceof Factura){
campos.clear();
Factura f = (Factura)entity;
campos.put(ConstantesFactura.FACTURA_ID,String.valueOf(f.getId()));
campos.put(ConstantesFactura.FACTURA_LETRA,f.getLetra());
campos.put(ConstantesFactura.FACTURA_NUMERO,String.valueOf(f.getNumero()));
campos.put(ConstantesFactura.FACTURA_TOTAL,String.valueOf(f.getTotal()));
campos.put(ConstantesFactura.FACTURA_CLIENTE,f.getCliente().getNombre()+ " "+ f.getCliente().getApellido());
campos.put(ConstantesFactura.FACTURA_ESTADO,f.getEstadoFactura().getEstadoFacutura());
}else{
throw new ClassCastException("Clase desconocida [" + TableEntityHelper.class + "]");
}
}
}