/** * * Asigna valores a los miembros de una factura, según los datos recogidos del formulario. * * @param factura * @return */ private boolean rellenarFactura(IFactura factura) { boolean exito = true; String cif, direccion, nombre, ciudad, cp, telefono, fecha; cif = cifjTextField2.getText(); direccion = direccionCompnanyia.getText(); nombre = nombreCompanyiajTextField1.getText(); ciudad = ciudadjTextField.getText(); cp = codigoPostaljTextField.getText(); telefono = telefonojTextField.getText(); fecha = fechajTextField.getText(); if (validarMinimosRellenos() && !fecha.equals("")) { factura.setCif(cif); factura.setDireccion(direccion); factura.setNombreCompanyia(nombre); factura.setCiudad(ciudad); factura.setCodigoPostal(cp); factura.setTelefono(telefono); try { Integer numero = Integer.parseInt(numeroFacturajTextField1.getText()); factura.setNumeroFactura(numero); } catch (NumberFormatException e) { JOptionPane.showMessageDialog( null, "El número de factura debe ser un número entero positivo."); exito = false; } factura.setFecha(fecha); } else exito = false; if (exito) { rellenarLineas(factura); } return exito; }
/** * * Crea una instancia de linea de factura, por cada fila que contenga la tabla. * * @param factura */ private void rellenarLineas(IFactura factura) { TableModel modelo = jTable1.getModel(); int numFilas = modelo.getRowCount(); for (int i = 0; i < numFilas; i++) { ILineaFactura linea = FacturaHelperFactory.createLineaFactura(); String km = (String) modelo.getValueAt(i, 1); String precioKm = (String) modelo.getValueAt(i, 2); String horas = (String) modelo.getValueAt(i, 3); String total = (String) modelo.getValueAt(i, 4); // obtenemos el valor del textArea CellEditor edit = jTable1.getCellEditor(i, 0); linea.setDescripcion(edit.getCellEditorValue().toString()); linea.setKilometros(toCeroF(km)); linea.setPrecioKilometro(toCeroF(precioKm)); linea.setHorasEspera(toCero(horas)); linea.setTotal(toCeroF(total)); if (!total.equals("")) factura.addLineaFactura(linea); } }