public ArrayList<DetalleFactura> buscar(Factura entidad) throws Exception {
   ArrayList<DetalleFactura> lista = new ArrayList<DetalleFactura>();
   try {
     cnn = Conexion.getConexion();
     CallableStatement cs = null;
     cs = cnn.prepareCall("call uspListDetalleFactrua(?)");
     cs.setInt(1, entidad.getIdFactura());
     rs = cs.executeQuery();
     while (rs.next()) {
       DetalleFactura objeto = new DetalleFactura();
       objeto.setIdDetalleFactura(rs.getInt("Iddetallefactura"));
       objeto.setIdProducto(rs.getInt("Idproducto"));
       objeto.setCantidad(rs.getInt("Cantidad"));
       objeto.setPrecio(rs.getDouble("Precio"));
       objeto.setSubTotal(rs.getDouble("Subtotal"));
       objeto.setIdFactura(rs.getInt("Idfactura"));
       objeto.setDProducto(rs.getString("DProducto"));
       lista.add(objeto);
     }
     cnn.close();
     cs.close();
   } catch (SQLException ex) {
     throw ex;
   }
   return lista;
 }
 public void ingresar(DetalleFactura objeto, Usuario usuario) throws Exception {
   try {
     cnn = Conexion.getConexion();
     CallableStatement cs = null;
     cs = cnn.prepareCall("call uspInsDetalleFactura(?,?,?,?,?,?)");
     cs.setInt(1, objeto.getIdProducto());
     cs.setInt(2, objeto.getCantidad());
     cs.setDouble(3, objeto.getPrecio());
     cs.setDouble(4, objeto.getSubTotal());
     cs.setInt(5, objeto.getIdFactura());
     cs.setString(6, usuario.getNick());
     cs.execute();
     cnn.close();
     cs.close();
   } catch (SQLException ex) {
     throw ex;
   }
 }
 public void eliminar(DetalleFactura objeto, Usuario usuario) throws Exception {
   try {
     cnn = Conexion.getConexion();
     CallableStatement cs = null;
     cs = cnn.prepareCall("call uspUpdInactivarDetalleFactura(?,?)");
     cs.setInt(1, objeto.getIdDetalleFactura());
     cs.setString(2, usuario.getNick());
     cs.execute();
     cnn.close();
     cs.close();
   } catch (SQLException ex) {
     throw ex;
   }
 }
 public DetalleFactura obtener(int id) throws Exception {
   DetalleFactura objeto = new DetalleFactura();
   try {
     cnn = Conexion.getConexion();
     CallableStatement cs = null;
     cs = cnn.prepareCall("call uspGetDetalleFactura(?)");
     cs.setInt(1, id);
     rs = cs.executeQuery();
     while (rs.next()) {
       objeto.setIdDetalleFactura(rs.getInt("Iddetallefactura"));
       objeto.setIdProducto(rs.getInt("Idproducto"));
       objeto.setCantidad(rs.getInt("Cantidad"));
       objeto.setPrecio(rs.getDouble("Precio"));
       objeto.setSubTotal(rs.getDouble("Subtotal"));
       objeto.setIdFactura(rs.getInt("Idfactura"));
     }
     cnn.close();
     cs.close();
   } catch (SQLException ex) {
     throw ex;
   }
   return objeto;
 }