Advertisement
LaCaraDeLaVerga

carrito presenter

Nov 20th, 2020
555
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 7.95 KB | None | 0 0
  1. package presentacion;
  2.  
  3. import java.awt.event.ActionEvent;
  4. import java.util.List;
  5.  
  6. import business_logic.ClientesController;
  7. import business_logic.FacturasController;
  8. import business_logic.RepuestosController;
  9. import business_logic.exceptions.ConflictException;
  10. import dto.AltaClienteDTO;
  11. import dto.ClienteDTO;
  12. import dto.PresupuestoDTO;
  13. import dto.RepuestoDTO;
  14. import dto.RepuestoPlanificadoDTO;
  15. import dto.VehiculoConOrdenDeTrabajoDTO;
  16. import dto.validators.StringValidator;
  17. import presentacion.views.cajero.PanelCarritoRepuestoView;
  18. import presentacion.views.supervisor.ClienteFormView;
  19. import presentacion.views.utils.MessageDialog;
  20.  
  21. public class CarritoPresenter {
  22.  
  23.     private static final String CLIENTE_NO_SELECCIONADO = "Debe seleccionar un cliente";
  24.  
  25.    
  26.     private PanelCarritoRepuestoView planRepuestosView;
  27.     private PresupuestoDTO nuevoPresupuesto;
  28.     private RepuestosController repuestosController;
  29.     private ClientesController clientesController;
  30.     private FacturasController facturasController;
  31.     private PanelCarritoRepuestoView view;
  32.     private ClienteFormView clienteFormView;
  33.    
  34.     public CarritoPresenter(RepuestosController repuestosController, ClientesController clientesController,
  35.         FacturasController facturasController ) {
  36.         this.repuestosController = repuestosController;
  37.         this.clientesController = clientesController;
  38.         this.facturasController = facturasController;
  39.         this.view = PanelCarritoRepuestoView.getInstance();
  40.         this.clienteFormView = clienteFormView.getInstance();
  41.         this.planRepuestosView.setActionOnAgregar(a -> onAgregarRepuesto(a));
  42.         this.planRepuestosView.setActionOnCancelar(a -> onCancelarRepuestosPlanificados(a));
  43.         this.planRepuestosView.setActionOnAceptar(a -> onAceptarRepuestosPlanificados(a));
  44.         this.planRepuestosView.setActionOnQuitar(a -> onQuitarRepuesto(a));
  45.         this.planRepuestosView.setActionOnBuscar(a -> onBuscarRepuesto(a));
  46.         //------------------------------
  47.         List<String> marcas = repuestosController.readMarcas();
  48.         marcas.add("todas");
  49.         this.planRepuestosView.setDataMarcas(marcas);
  50.         this.planRepuestosView.setDataRepuestos(repuestosController.readAll());
  51.         //-------------------------------------
  52. //      this.view.setActionOnBuscar(a -> onBuscar(a));
  53. //      this.view.setActionSelectVehiculoCliente(a -> onSelectVehiculoDeCliente(a));
  54.        
  55. //      this.view.setActionRegistrarCliente(a -> onDisplayClienteFormView(a));
  56. //      view.setActionOnEditarCliente(a -> onDisplayFormForUpdate(a));
  57. //      view.setActionBuscar((a) -> onBuscar(a));
  58. //      ClienteFormView.getInstance().setActionOnUpdate(a -> onUpdate(a));
  59.  
  60.     }
  61.    
  62.     //Quita un repuesto del presupuesto
  63.     private void onQuitarRepuesto(ActionEvent a) {
  64.         Integer fila = this.planRepuestosView.getSeleccionado();
  65.         if(fila >= 0) {
  66.             this.nuevoPresupuesto.quitarRepuesto(fila);
  67.             this.planRepuestosView.setDataRepuestosPlanificados(nuevoPresupuesto.getRepuestos());
  68.             this.view.setDataRepuestosPlanificados(nuevoPresupuesto.getRepuestos());
  69.         }
  70.     }
  71.  
  72.     //Busca repuestos segun criterio seleccionado
  73.     private void onBuscarRepuesto(ActionEvent a) {
  74.         String marca = planRepuestosView.getMarca();
  75.         String descripcion = planRepuestosView.getDescripcion();
  76.         List<RepuestoDTO> repuestos;
  77.         if(descripcion.isEmpty()) {
  78.             if(marca == "todas") {
  79.                 repuestos = repuestosController.readAll();
  80.             } else {
  81.                 repuestos = repuestosController.readByMarca(marca);
  82.             }
  83.         } else {
  84.             if(marca == "todas") {
  85.                 repuestos = repuestosController.readByDescripcion(descripcion);
  86.             } else {
  87.                 repuestos = repuestosController.readbyMarcaYDescripcion(marca, descripcion);
  88.             }
  89.         }
  90.         planRepuestosView.setDataRepuestos(repuestos);
  91.     }
  92.  
  93.     //Muestra los repuestos planificados
  94.     private void onAceptarRepuestosPlanificados(ActionEvent a) {
  95.         this.view.setDataRepuestosPlanificados(nuevoPresupuesto.getRepuestos());
  96.         this.planRepuestosView.close();
  97.     }
  98.  
  99.     //Borra los repuestos planificados si se cancela la operacion de planificacion
  100.     private void onCancelarRepuestosPlanificados(ActionEvent a) {
  101.         this.nuevoPresupuesto.borrarRepuestosPlanificados();
  102.     }
  103.  
  104.     //Agrega repuesto a el nuevo repuesto
  105.     private void onAgregarRepuesto(ActionEvent a) {
  106.         String cantidad = planRepuestosView.getCantidad();
  107.         String idRepuesto = planRepuestosView.getIdRepuesto();
  108.         List<String> errors = new StringValidator(idRepuesto).number("Debe seleccionar un repuesto.").validate();
  109.         errors.addAll(new StringValidator(cantidad).notBlank("Debe ingresar una cantidad")
  110.                 .number("La cantidad debe ser un número").validate());
  111.  
  112.         if (errors.isEmpty()) {
  113.             RepuestoPlanificadoDTO repuestoPlanificado = new RepuestoPlanificadoDTO();
  114.             repuestoPlanificado.setCantRequerida(Integer.parseInt(cantidad));
  115.             RepuestoDTO repuesto = repuestosController.readById(Integer.parseInt(idRepuesto));
  116.             repuestoPlanificado.setRepuesto(repuesto);
  117.             nuevoPresupuesto.agregarRepuestos(repuestoPlanificado);
  118.             planRepuestosView.setDataRepuestosPlanificados(nuevoPresupuesto.getRepuestos());
  119.             this.view.setDataRepuestosPlanificados(nuevoPresupuesto.getRepuestos());
  120.         } else {
  121.             new MessageDialog().showMessages(errors);
  122.             ;
  123.         }
  124.     }
  125.  
  126.     //Muestra pantalla de planificacion de repuestos
  127.     private void onDisplayForPlanRepuesto(ActionEvent a) {
  128.         if (nuevoPresupuesto != null) {
  129.             List<String> marcas = repuestosController.readMarcas();
  130.             marcas.add("todas");
  131.             this.planRepuestosView.setDataMarcas(marcas);
  132.             this.planRepuestosView.setDataRepuestos(repuestosController.readAll());
  133.             this.planRepuestosView.setDataRepuestosPlanificados(nuevoPresupuesto.getRepuestos());
  134.             this.planRepuestosView.display();
  135.         } else {
  136.             new MessageDialog().showMessages("Seleccione un presupuesto");
  137.         }
  138.     }
  139.  
  140. //Supervisor reutilizados----------------------------------------------------------
  141.     private void onDisplayClienteFormView(ActionEvent e) {
  142. //      view.clearAll();
  143.         ClienteFormView.getInstance().clearData();
  144.         ClienteFormView.getInstance().display();
  145.     }
  146.    
  147.     private void onRegistrarCliente(ActionEvent e) {
  148.         AltaClienteDTO cliente = ClienteFormView.getInstance().getData();
  149.         List<String> errors = cliente.validate();
  150.         if (errors.isEmpty()) {
  151.             try {
  152.                 clientesController.save(new ClienteDTO(cliente));
  153.                 ClienteFormView.getInstance().clearData();
  154.                 ClienteFormView.getInstance().close();
  155.             } catch (ConflictException e1) {
  156.                 new MessageDialog().showMessages(e1.getMessage());
  157.             }
  158.         } else {
  159.             new MessageDialog().showMessages(errors);
  160.         }
  161.     }  
  162.    
  163. //  private void onDisplayFormForUpdate(ActionEvent a) {
  164. //      if (view.getIdCliente() != null) {
  165. //          ClienteFormView.getInstance().clearData();
  166. //          ClienteFormView.getInstance().setData(clientesController.readByDni(Integer.parseInt(view.getDniCliente())));
  167. //          ClienteFormView.getInstance().display();
  168. //      }
  169. //      else {
  170. //          new MessageDialog().showMessages(CLIENTE_NO_SELECCIONADO);
  171. //      }
  172. //  }
  173.    
  174. //  private void onBuscar(ActionEvent a) {
  175. //      String inputDni = view.getDniCliente();
  176. //      if (new StringValidator(inputDni).number("").validate().isEmpty()) {
  177. //          ClienteDTO cliente = clientesController.readByDni(Integer.parseInt(inputDni));
  178. //          if (cliente != null) {
  179. //              view.clearDataCliente();
  180. //              view.setData(cliente);
  181. ////                view.clearDataListadoVehiculosCliente();
  182. ////                view.clearDataFichaTecnicaVehiculo();
  183. ////                view.clearDataOrdenDeTrabajo();
  184. //          } else {
  185. //              view.clearAll();
  186. //          }
  187. //      } else {
  188. //          view.clearAll();
  189. //      }
  190. //  }
  191.    
  192. //  private void onUpdate(ActionEvent a) {
  193. //      AltaClienteDTO clienteAux = ClienteFormView.getInstance().getData();
  194. //      List<String> errores = clienteAux.validate();
  195. //      if (errores.isEmpty()) {
  196. //          ClienteDTO cliente = new ClienteDTO(clienteAux);
  197. //          cliente.setIdCliente(view.getIdCliente());
  198. //          cliente.getDatosPersonalesDTO().setId(view.getIdDatosPersonalesCliente());
  199. //          clientesController.update(cliente);
  200. //          view.clearDataCliente();
  201. //          view.setData(cliente);
  202. //          ClienteFormView.getInstance().close();
  203. //      } else {
  204. //          new MessageDialog().showMessages(errores);
  205. //      }
  206. //  }
  207.    
  208. }
  209.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement