Ejemplo n.º 1
0
  @Override
  public void actionPerformed(ActionEvent ae) {
    if (!Base.hasConnection()) {
      Base.open("com.mysql.jdbc.Driver", "jdbc:mysql://localhost/quiniela", "tecpro", "tecpro");
      if (ae.getActionCommand().equals("Actualizar")) { // si presiono actualizar
        cargarProductos(); // actualizo la tabla de productos
      }
      if (ae.getActionCommand().equals("Quitar")) { // si presiono quitar
        abmp.bajaFecha(
            (int) tablaProducto.getValueAt(getView().getTablaProductos().getSelectedRow(), 0),
            (String) tablaFecha.getValueAt(getView().getTablaStockFecha().getSelectedRow(), 0));
        cargarFecha(
            (int) tablaProducto.getValueAt(getView().getTablaProductos().getSelectedRow(), 0));
      }
      if (ae.getActionCommand().equals("Eliminar")) { // si presiono eliminar
        abmp.bajaProducto(
            (int)
                tablaProducto.getValueAt(
                    getView().getTablaProductos().getSelectedRow(),
                    0)); // saco el id de la fila en la primer columna
        cargarProductos();
      }
      if (ae.getActionCommand().equals("Nuevo")) { // si presiono nuevo
        Object row[] = new Object[6]; // creo una fila nueva vacia
        getView().getProdModificar().setEnabled(true);
        tablaProducto.addRow(row);
      }
      if (ae.getActionCommand().equals("Modificar")) { // si presiono guardar cambios en una fila
        BigDecimal b1, b2;
        String nombre;
        int hayStock;
        int stock;
        for (int j = 0; j < tablaProducto.getRowCount(); j++) {
          // tomo el nombre de la tabla
          if (tablaProducto.getValueAt(j, 1) != null) {
            nombre = (String) tablaProducto.getValueAt(j, 1);
          } else {
            nombre = "";
            System.out.println("El nombre no puede ser vacio");
          }
          // tomo el precio de la tabla
          if (tablaProducto.getValueAt(j, 2) != null) {
            b1 = new BigDecimal((Double) tablaProducto.getValueAt(j, 2));
          } else {
            b1 = new BigDecimal(0);
          }
          // tomo la comision de la tabla
          if (tablaProducto.getValueAt(j, 3) != null) {
            b2 = new BigDecimal((Double) tablaProducto.getValueAt(j, 3));
          } else {
            b2 = new BigDecimal(0);
          }
          // tomo el valor del checkbox de la tabla(si hay o no stock)
          if (tablaProducto.getValueAt(j, 4) == null
              || (boolean) tablaProducto.getValueAt(j, 4) == false) {
            hayStock = 0;
          } else {
            hayStock = 1;
          }
          if (tablaProducto.getValueAt(j, 5) != null) {
            stock = new Integer((Integer) tablaProducto.getValueAt(j, 5));
          } else {
            stock = new Integer(0);
          }
          // Si el producto es nuevo(no tiene id)
          if (tablaProducto.getValueAt(j, 0) == null) {
            abmp.altaProducto(nombre, b1, b2, hayStock, stock);
          } else { // si el producto existe y solo sera modificado
            int id = (int) tablaProducto.getValueAt(j, 0);
            abmp.modificarProducto(id, nombre, b1, b2, hayStock, stock);
          }
        }
        cargarProductos(); // actualizo la tabla de productos
        JOptionPane.showMessageDialog(getView(), "Cambios guardados con exito!");
      }
      if (ae.getActionCommand().equals("Insertar")) { // si presiono insertar
        // cargo stock y fecha de la tabla junto con el id del producto
        String diaDepo =
            (String) tablaFecha.getValueAt(getView().getTablaStockFecha().getSelectedRow(), 0);
        diaDepo = diaDepo.toLowerCase();
        if ("lunes".equals(diaDepo)
            || "martes".equals(diaDepo)
            || "miercoles".equals(diaDepo)
            || "jueves".equals(diaDepo)
            || "viernes".equals(diaDepo)
            || "sabado".equals(diaDepo)
            || "domingo".equals(diaDepo)) {
          abmp.altaFecha(
              (int) tablaProducto.getValueAt(getView().getTablaProductos().getSelectedRow(), 0),
              (String) tablaFecha.getValueAt(getView().getTablaStockFecha().getSelectedRow(), 0));
          cargarFecha(
              (int) tablaProducto.getValueAt(getView().getTablaProductos().getSelectedRow(), 0));
          JOptionPane.showMessageDialog(getView(), "Dia cargado con exito!");
        } else {
          cargarFecha(
              (int) tablaProducto.getValueAt(getView().getTablaProductos().getSelectedRow(), 0));
          JOptionPane.showMessageDialog(getView(), "El dia esta mal escrito!");
        }
      }
    }

    if (Base.hasConnection()) {
      Base.close();
    }
    cc.cargarProductos();
  }