|
| 1 | +package giis.demo.tkrun; |
| 2 | + |
| 3 | +import java.util.List; |
| 4 | + |
| 5 | +import javax.swing.JOptionPane; |
| 6 | +import javax.swing.table.TableModel; |
| 7 | + |
| 8 | +import giis.demo.util.SwingUtil; |
| 9 | + |
| 10 | +public class TransportistaController { |
| 11 | + private TransportistaModel model; |
| 12 | + private TransportistaView view; |
| 13 | + |
| 14 | + public TransportistaController(TransportistaModel transportistaModel, TransportistaView transportistaView) { |
| 15 | + this.model = transportistaModel; |
| 16 | + this.view = transportistaView; |
| 17 | + //no hay inicializacion especifica del modelo, solo de la vista |
| 18 | + this.initView(); |
| 19 | + } |
| 20 | + |
| 21 | + public void initController() { |
| 22 | + view.getBtSalir().addActionListener(e -> SwingUtil.exceptionWrapper(() -> view.reset())); |
| 23 | + view.getBtBuscar().addActionListener(e -> buscarTransportista()); |
| 24 | + } |
| 25 | + |
| 26 | + private void buscarTransportista() { |
| 27 | + String id = view.getTfID().getText(); |
| 28 | + if(comprobarID(id)) { |
| 29 | + int numID = Integer.parseInt(id); |
| 30 | + TransportistaDisplayDTO transportista = model.getTransportista(numID); |
| 31 | + if(validarTransportista(transportista,numID)) { |
| 32 | + getListaPedidos(numID); |
| 33 | + } |
| 34 | + } |
| 35 | + |
| 36 | + } |
| 37 | + |
| 38 | + private void getListaPedidos(int numID) { |
| 39 | + List<PedidosTransportistaDisplayDTO> pedidos = model.getPedidosTransportista(numID); |
| 40 | + TableModel tmodel = SwingUtil.getTableModelFromPojos(pedidos, new String[] {"nref", "nombreEmisor", "correoEmisor","direccionEmisor","direccionReceptor","fechaEntrega"}); |
| 41 | + view.getTbPedidos().setModel(tmodel); |
| 42 | + SwingUtil.autoAdjustColumns(view.getTbPedidos()); |
| 43 | + } |
| 44 | + |
| 45 | + private boolean validarTransportista(TransportistaDisplayDTO transportista, int numID) { |
| 46 | + if (transportista==null) { |
| 47 | + JOptionPane.showMessageDialog(null, "No existe un transportista \ncon el ID: " + numID); |
| 48 | + return false; |
| 49 | + } else return true; |
| 50 | + } |
| 51 | + |
| 52 | + private boolean comprobarID(String id) { |
| 53 | + try { |
| 54 | + if(id.isBlank() || Integer.parseInt(id) <= 0) { |
| 55 | + JOptionPane.showMessageDialog(null, "Formato de ID inválido"); |
| 56 | + return false; |
| 57 | + } else return true; |
| 58 | + } catch (NumberFormatException e) { |
| 59 | + JOptionPane.showMessageDialog(null, "Formato de ID inválido"); |
| 60 | + return false; |
| 61 | + } |
| 62 | + } |
| 63 | + |
| 64 | + public void initView() { |
| 65 | + view.getFrame().setVisible(true); |
| 66 | + } |
| 67 | +} |
0 commit comments