/*
* 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;
}
}