Package GUI

Source Code of GUI.dialogoCargarPlatilloRecomendacion

/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
package GUI;

import Pedidos.Platillo;
import SistemaDeKioscos.ServicioDeAccesoABaseDeDatos;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;
import java.util.Formatter;
import java.util.Hashtable;
import java.util.Map;
import javax.swing.JOptionPane;

/**
*
* @author Administrador
*/
public class dialogoCargarPlatilloRecomendacion extends javax.swing.JDialog {

    private ServicioDeAccesoABaseDeDatos baseDeDatos;
    Platillo platilloSeleccionado;

    /**
     * Creates new form dialogoCargarPlatilloRecomendacion
     */
    public dialogoCargarPlatilloRecomendacion(java.awt.Frame parent, boolean modal) {
        super(parent, modal);
        initComponents();
        baseDeDatos = new ServicioDeAccesoABaseDeDatos();
    }

    public dialogoCargarPlatilloRecomendacion(java.awt.Frame parent, boolean modal, ServicioDeAccesoABaseDeDatos baseDeDatos) {
        super(parent, modal);
        this.baseDeDatos = baseDeDatos;
        initComponents();
    }

    /**
     * This method is called from within the constructor to initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is always
     * regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        listaCategorias = new javax.swing.JTabbedPane();
        pnlSopas = new javax.swing.JPanel();
        pnlPastas = new javax.swing.JPanel();
        pnlEnsaladas = new javax.swing.JPanel();
        jScrollPane2 = new javax.swing.JScrollPane();
        pnlAves = new javax.swing.JPanel();
        jScrollPane3 = new javax.swing.JScrollPane();
        pnlCarnes = new javax.swing.JPanel();
        jScrollPane8 = new javax.swing.JScrollPane();
        pnlCortes = new javax.swing.JPanel();
        pnlMariscos = new javax.swing.JPanel();
        jScrollPane7 = new javax.swing.JScrollPane();
        pnlBebidas = new javax.swing.JPanel();
        jScrollPane6 = new javax.swing.JScrollPane();
        pnlPostres = new javax.swing.JPanel();
        jScrollPane5 = new javax.swing.JScrollPane();
        pnlCafé = new javax.swing.JPanel();
        jScrollPane4 = new javax.swing.JScrollPane();

        setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE);

        listaCategorias.setTabPlacement(javax.swing.JTabbedPane.RIGHT);
        listaCategorias.setAutoscrolls(true);
        listaCategorias.setMinimumSize(new java.awt.Dimension(240, 28));
        listaCategorias.setName(""); // NOI18N

        pnlSopas.addComponentListener(new java.awt.event.ComponentAdapter() {
            public void componentShown(java.awt.event.ComponentEvent evt) {
                pnlSopasComponentShown(evt);
            }
        });
        pnlSopas.setLayout(new java.awt.GridLayout(4, 2));
        listaCategorias.addTab("Sopas", pnlSopas);

        pnlPastas.addComponentListener(new java.awt.event.ComponentAdapter() {
            public void componentShown(java.awt.event.ComponentEvent evt) {
                pnlPastasComponentShown(evt);
            }
        });
        pnlPastas.setLayout(new java.awt.GridLayout());
        listaCategorias.addTab("Pastas", pnlPastas);

        pnlEnsaladas.addComponentListener(new java.awt.event.ComponentAdapter() {
            public void componentShown(java.awt.event.ComponentEvent evt) {
                pnlEnsaladasComponentShown(evt);
            }
        });
        pnlEnsaladas.setLayout(new java.awt.BorderLayout());
        pnlEnsaladas.add(jScrollPane2, java.awt.BorderLayout.CENTER);

        listaCategorias.addTab("Ensaladas", pnlEnsaladas);

        pnlAves.addComponentListener(new java.awt.event.ComponentAdapter() {
            public void componentShown(java.awt.event.ComponentEvent evt) {
                pnlAvesComponentShown(evt);
            }
        });
        pnlAves.setLayout(new java.awt.BorderLayout());
        pnlAves.add(jScrollPane3, java.awt.BorderLayout.CENTER);

        listaCategorias.addTab("Aves", pnlAves);

        pnlCarnes.addComponentListener(new java.awt.event.ComponentAdapter() {
            public void componentShown(java.awt.event.ComponentEvent evt) {
                pnlCarnesComponentShown(evt);
            }
        });
        pnlCarnes.setLayout(new java.awt.BorderLayout());
        pnlCarnes.add(jScrollPane8, java.awt.BorderLayout.CENTER);

        listaCategorias.addTab("Carnes", pnlCarnes);

        pnlCortes.setPreferredSize(new java.awt.Dimension(235, 424));
        pnlCortes.addComponentListener(new java.awt.event.ComponentAdapter() {
            public void componentShown(java.awt.event.ComponentEvent evt) {
                pnlCortesComponentShown(evt);
            }
        });
        listaCategorias.addTab("Cortes", pnlCortes);

        pnlMariscos.addComponentListener(new java.awt.event.ComponentAdapter() {
            public void componentShown(java.awt.event.ComponentEvent evt) {
                pnlMariscosComponentShown(evt);
            }
        });
        pnlMariscos.setLayout(new java.awt.BorderLayout());
        pnlMariscos.add(jScrollPane7, java.awt.BorderLayout.CENTER);

        listaCategorias.addTab("Mariscos", pnlMariscos);

        pnlBebidas.addComponentListener(new java.awt.event.ComponentAdapter() {
            public void componentShown(java.awt.event.ComponentEvent evt) {
                pnlBebidasComponentShown(evt);
            }
        });
        pnlBebidas.setLayout(new java.awt.BorderLayout());
        pnlBebidas.add(jScrollPane6, java.awt.BorderLayout.CENTER);

        listaCategorias.addTab("Bebidas", pnlBebidas);

        pnlPostres.addComponentListener(new java.awt.event.ComponentAdapter() {
            public void componentShown(java.awt.event.ComponentEvent evt) {
                pnlPostresComponentShown(evt);
            }
        });
        pnlPostres.setLayout(new java.awt.BorderLayout());
        pnlPostres.add(jScrollPane5, java.awt.BorderLayout.CENTER);

        listaCategorias.addTab("Postres", pnlPostres);

        pnlCafé.addComponentListener(new java.awt.event.ComponentAdapter() {
            public void componentShown(java.awt.event.ComponentEvent evt) {
                pnlCaféComponentShown(evt);
            }
        });
        pnlCafé.setLayout(new java.awt.BorderLayout());
        pnlCafé.add(jScrollPane4, java.awt.BorderLayout.CENTER);

        listaCategorias.addTab("Café", pnlCafé);

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 400, Short.MAX_VALUE)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(0, 0, Short.MAX_VALUE)
                    .addComponent(listaCategorias, javax.swing.GroupLayout.PREFERRED_SIZE, 299, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(0, 0, Short.MAX_VALUE)))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGap(0, 510, Short.MAX_VALUE)
            .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                .addGroup(layout.createSequentialGroup()
                    .addGap(0, 0, Short.MAX_VALUE)
                    .addComponent(listaCategorias, javax.swing.GroupLayout.PREFERRED_SIZE, 510, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addGap(0, 0, Short.MAX_VALUE)))
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void pnlSopasComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_pnlSopasComponentShown
        String catego = "sopas";
        Hashtable<String, Double[]> datosplatillos = obtenerPlatillos(catego);
    }//GEN-LAST:event_pnlSopasComponentShown

    private void pnlPastasComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_pnlPastasComponentShown
        String catego = "pastas";
        Hashtable<String, Double[]> datosplatillos = obtenerPlatillos(catego);
    }//GEN-LAST:event_pnlPastasComponentShown

    private void pnlEnsaladasComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_pnlEnsaladasComponentShown
        String catego = "ensaladas";
        Hashtable<String, Double[]> datosplatillos = obtenerPlatillos(catego);
    }//GEN-LAST:event_pnlEnsaladasComponentShown

    private void pnlAvesComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_pnlAvesComponentShown
        String catego = "aves";
        Hashtable<String, Double[]> datosplatillos = obtenerPlatillos(catego);
    }//GEN-LAST:event_pnlAvesComponentShown

    private void pnlCarnesComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_pnlCarnesComponentShown
        String catego = "carnes";
        Hashtable<String, Double[]> datosplatillos = obtenerPlatillos(catego);
    }//GEN-LAST:event_pnlCarnesComponentShown

    private void pnlCortesComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_pnlCortesComponentShown
        String catego = "cortes";
        Hashtable<String, Double[]> datosplatillos = obtenerPlatillos(catego);
    }//GEN-LAST:event_pnlCortesComponentShown

    private void pnlMariscosComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_pnlMariscosComponentShown
        String catego = "mariscos";
        Hashtable<String, Double[]> datosplatillos = obtenerPlatillos(catego);
    }//GEN-LAST:event_pnlMariscosComponentShown

    private void pnlBebidasComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_pnlBebidasComponentShown
        String catego = "bebidas";
        Hashtable<String, Double[]> datosplatillos = obtenerPlatillos(catego);
    }//GEN-LAST:event_pnlBebidasComponentShown

    private void pnlPostresComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_pnlPostresComponentShown
        String catego = "postres";
        Hashtable<String, Double[]> datosplatillos = obtenerPlatillos(catego);
    }//GEN-LAST:event_pnlPostresComponentShown

    private void pnlCaféComponentShown(java.awt.event.ComponentEvent evt) {//GEN-FIRST:event_pnlCaféComponentShown
        String catego = "cafes";
        Hashtable<String, Double[]> datosplatillos = obtenerPlatillos(catego);
    }//GEN-LAST:event_pnlCaféComponentShown

    /**
     * @param args the command line arguments
     */
    public static void main(String args[]) {
        /* Set the Nimbus look and feel */
        //<editor-fold defaultstate="collapsed" desc=" Look and feel setting code (optional) ">
        /* If Nimbus (introduced in Java SE 6) is not available, stay with the default look and feel.
         * For details see http://download.oracle.com/javase/tutorial/uiswing/lookandfeel/plaf.html
         */
        try {
            for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
                if ("Nimbus".equals(info.getName())) {
                    javax.swing.UIManager.setLookAndFeel(info.getClassName());
                    break;
                }
            }
        } catch (ClassNotFoundException ex) {
            java.util.logging.Logger.getLogger(dialogoCargarPlatilloRecomendacion.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (InstantiationException ex) {
            java.util.logging.Logger.getLogger(dialogoCargarPlatilloRecomendacion.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (IllegalAccessException ex) {
            java.util.logging.Logger.getLogger(dialogoCargarPlatilloRecomendacion.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        } catch (javax.swing.UnsupportedLookAndFeelException ex) {
            java.util.logging.Logger.getLogger(dialogoCargarPlatilloRecomendacion.class.getName()).log(java.util.logging.Level.SEVERE, null, ex);
        }
        //</editor-fold>

        /* Create and display the dialog */
        java.awt.EventQueue.invokeLater(new Runnable() {
            public void run() {
                dialogoCargarPlatilloRecomendacion dialog = new dialogoCargarPlatilloRecomendacion(new javax.swing.JFrame(), true);
                dialog.addWindowListener(new java.awt.event.WindowAdapter() {
                    @Override
                    public void windowClosing(java.awt.event.WindowEvent e) {
                        System.exit(0);
                    }
                });
                dialog.setVisible(true);
            }
        });
    }

    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JScrollPane jScrollPane2;
    private javax.swing.JScrollPane jScrollPane3;
    private javax.swing.JScrollPane jScrollPane4;
    private javax.swing.JScrollPane jScrollPane5;
    private javax.swing.JScrollPane jScrollPane6;
    private javax.swing.JScrollPane jScrollPane7;
    private javax.swing.JScrollPane jScrollPane8;
    private javax.swing.JTabbedPane listaCategorias;
    private javax.swing.JPanel pnlAves;
    private javax.swing.JPanel pnlBebidas;
    private javax.swing.JPanel pnlCafé;
    private javax.swing.JPanel pnlCarnes;
    private javax.swing.JPanel pnlCortes;
    private javax.swing.JPanel pnlEnsaladas;
    private javax.swing.JPanel pnlMariscos;
    private javax.swing.JPanel pnlPastas;
    private javax.swing.JPanel pnlPostres;
    private javax.swing.JPanel pnlSopas;
    // End of variables declaration//GEN-END:variables

    private Hashtable<String, Double[]> obtenerPlatillos(String catego) {
        System.out.println("mostrando " + catego);
        Hashtable<String, Double[]> datosplatillos = new Hashtable<String, Double[]>();
        catego = catego.toLowerCase();
        //TODO para practicidad las imágenes de los patillos si las hay guardarlas con el mismo nombre del platillo y con extensión jpeg
        System.out.println("base de datos =" + baseDeDatos);
        baseDeDatos.obtenerPlatillosPorCategoría(catego, datosplatillos);
        //TODO renderizar imágenes de los platillos en el panel
        if (catego == "sopas") {
            pnlSopas.removeAll();
        } else if (catego == "pastas") {
            //TODO poner bebidas por secciones

            pnlPastas.removeAll();
        } else if (catego == "ensaladas") {
            pnlEnsaladas.removeAll();
        } else if (catego == "aves") {
            pnlAves.removeAll();
        } else if (catego == "carnes") {
            pnlCarnes.removeAll();
        } else if (catego == "cortes") {
            pnlCortes.removeAll();
            //} else if (catego == "guarniciones para carne") {
            //    pnlGuarniciones.removeAll();
            //} else if (catego == "salsas y especias") {
//            pnlSalsas.removeAll();
        } else {
            System.err.println("oops");
        }
        //JDK 7
//        switch (catego) {
//            case "sopas":
//                pnlSopas.removeAll();
//                break;
//            //TODO poner bebidas por secciones
//            // case ""
//            case "pastas":
//                pnlPastas.removeAll();
//                break;
//            case "ensaladas":
//                pnlEnsaladas.removeAll();
//                break;
//            case "aves":
//                pnlAves.removeAll();
//                break;
//            case "carnes":
//                pnlCarnes.removeAll();
//                break;
//            case "cortes":
//                pnlCortes.removeAll();
//                break;
//            case "guarniciones para carne":
//                pnlGuarniciones.removeAll();
//                break;
//            case "salsas y especias":
//                pnlSalsas.removeAll();
//                break;
//            default:
//                System.err.println("oops");
//                break;
//        }

        for (Map.Entry<String, Double[]> platillito : datosplatillos.entrySet()) {
            String nombrecito = platillito.getKey();
            System.out.println(nombrecito);
            Double[] precios = platillito.getValue();
            Formatter formatoNumero = new Formatter();

            //System.out.println("$" + precios);
            System.out.println(precios.length);

            //parte común
            PnlPlatillo panelPlatillo = new PnlPlatillo();
            panelPlatillo.setNombrePlatillo(nombrecito);
            //System.out.println((""));
            System.out.println(String.format("Precio:$\t%.2f", precios[1]));
            panelPlatillo.setPrecio(precios[1]);
            System.out.println("IVA" + precios[2]);
            panelPlatillo.setIva(precios[2]);
            panelPlatillo.setCategoria(catego);

            //    jScrollPane1.add(panelPlatillo);
            panelPlatillo.addMouseListener(new MouseAdapter() {

                @Override
                public void mouseClicked(MouseEvent e) {
                    PnlPlatillo panel = (PnlPlatillo) e.getComponent();
                    platilloSeleccionado = new Platillo();
                    platilloSeleccionado.setNombrePlatillo(panel.getNombrePlatillo());
                    platilloSeleccionado.setPrecio(panel.getPrecio());
                    platilloSeleccionado.setIva(panel.getIva());
                    platilloSeleccionado.setCategoria(panel.getCategoria());
                    System.out.println("SEleccionado:" + platilloSeleccionado.getNombrePlatillo());
                    int opcion = JOptionPane.showConfirmDialog(null, "¿Desea Agregar un " + platilloSeleccionado.getNombrePlatillo() + "?");
                    switch (opcion) {
                        case JOptionPane.YES_OPTION:
                            System.out.println("Usted ha elegido sí");
                            //TODO cargar en al base de datos un platillo a la sugerencia del chef
                            break;
                        default:
                            System.out.println("Usted ha elegido no");
                            break;
                    };
                    //TODO para el caso de carnes y cortes preguntar por guarnición y/o salsa
                    //TODO para el caso de ensaladas preguntar por aderezos
                }
            });

            if (catego == "sopas") {
                pnlSopas.add(panelPlatillo);
                //TODO verificar que cargue todas las secciones
            } else if (catego == "pastas") {
                pnlPastas.add(panelPlatillo);
            } else if (catego == "ensaladas") {
                pnlEnsaladas.add(panelPlatillo);
            } else if (catego == "aves") {
                pnlAves.add(panelPlatillo);
            } else if (catego == "carnes") {
                pnlCarnes.add(panelPlatillo);
            } else if (catego == "cortes") {
                pnlCortes.add(panelPlatillo);
//            } else if (catego == "guarniciones para carne") {
//                pnlGuarniciones.add(panelPlatillo);
//            } else if (catego == "salsas y especias") {
//                pnlSalsas.add(panelPlatillo);
            } else {
                System.err.println("oops");
            }

        }
        return datosplatillos;
    }

    public ServicioDeAccesoABaseDeDatos getBaseDeDatos() {
        return baseDeDatos;
    }

    public void setBaseDeDatos(ServicioDeAccesoABaseDeDatos baseDeDatos) {
        this.baseDeDatos = baseDeDatos;
    }

}
TOP

Related Classes of GUI.dialogoCargarPlatilloRecomendacion

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.