diff --git a/.gitignore b/.gitignore index 84c048a..e2cae22 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ /build/ +/dist/ diff --git a/src/Controlador/ControladorEcenario.java b/src/Controlador/ControladorEcenario.java new file mode 100644 index 0000000..8a53167 --- /dev/null +++ b/src/Controlador/ControladorEcenario.java @@ -0,0 +1,78 @@ +package Controlador; + +import Modelo.Asiento; +import Modelo.Consulta; +import Modelo.Sala; +import Modelo.Zona; +import Vista.SalaPrincipal; +import java.awt.Color; +import java.awt.Dimension; +import java.awt.GridLayout; +import javax.swing.ImageIcon; +import javax.swing.JButton; + +/* + * @author Juan Ska +*/ +public class ControladorEcenario { + private SalaPrincipal VentanaSala; + + + Asiento [][] asientoZB; + Asiento [][] asientoZC; + Asiento [][] asientoZG; + Asiento [][] asientoZVip; + Zona [] zonas; + Consulta consulta = new Consulta(); + Sala sala; + public ControladorEcenario(SalaPrincipal VentanaSala) { + this.VentanaSala = VentanaSala; + crearZonas(); + crearAsientos(); + crearGUI(); + } + + + public void crearZonas(){ + zonas = consulta.getZonas(); + } + public void crearAsientos(){ + asientoZB = consulta.getAsientosPorZona(zonas[0].getId(),5,7); + asientoZG = consulta.getAsientosPorZona(zonas[1].getId(),6,4); + asientoZVip = consulta.getAsientosPorZona(zonas[2].getId(),5,2); + asientoZC = consulta.getAsientosPorZona(zonas[3].getId(),5,7); + + zonas[0].setAsientos(asientoZB); + zonas[1].setAsientos(asientoZG); + zonas[2].setAsientos(asientoZVip); + zonas[3].setAsientos(asientoZC); + sala = new Sala(0, zonas); + } + public void crearGUI(){ + crearZonaB(); + } + public void crearZonaB() { + //panelZonaB.setLayout(new GridLayout(7,5)); + VentanaSala.getPanelB().setLayout(new GridLayout(7, 5)); + + JButton[][] matrizB = new JButton[7][5]; + + for (int i = 0; i < 7; i++) { + for (int j = 0; j < 5; j++) { + ImageIcon imagen = new ImageIcon("src\\Images\\music.png"); + JButton botonaleatorio = new JButton(); + botonaleatorio.setBorderPainted(false); + botonaleatorio.setIcon(imagen); + if(zonas[0].getAsientos()[i][j].isEstado()==true){ + botonaleatorio.setBackground(Color.GREEN); + }else{ + botonaleatorio.setBackground(Color.RED); + } + botonaleatorio.setPreferredSize(new Dimension(30, 30)); + matrizB[i][j] = botonaleatorio; + VentanaSala.getPanelB().add(matrizB[i][j]); + } + } + } + +} diff --git a/src/Controlador/ControladorLogin.java b/src/Controlador/ControladorLogin.java index 1816c92..250b8f2 100644 --- a/src/Controlador/ControladorLogin.java +++ b/src/Controlador/ControladorLogin.java @@ -34,7 +34,8 @@ public class ControladorLogin implements ActionListener{ if(consulta.verificarUsuario(user)){ //Abre una nueva ventana JOptionPane.showMessageDialog(null, "Bienvenido " + user.getNombre()); - SalaPrincipal principal = new SalaPrincipal(user); + Usuario usuario = consulta.getUsuario(user); + SalaPrincipal principal = new SalaPrincipal(usuario); principal.setVisible(true); login.dispose(); }else{ diff --git a/src/Controlador/ControladorRegistro.java b/src/Controlador/ControladorRegistro.java index 81b6d4b..9201aa2 100644 --- a/src/Controlador/ControladorRegistro.java +++ b/src/Controlador/ControladorRegistro.java @@ -1,12 +1,15 @@ package Controlador; import Modelo.Consulta; +import Modelo.Usuario; +import Vista.Login; import Vista.Registro; import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import java.awt.event.KeyListener; +import javax.swing.JOptionPane; /* * @author Juan Ska @@ -24,7 +27,24 @@ public class ControladorRegistro extends Thread{ registro.getBtnRegistrar().addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { - throw new UnsupportedOperationException("Not supported yet."); // Generated from nbfs://nbhost/SystemFileSystem/Templates/Classes/Code/GeneratedMethodBody + String valorPass = new String(registro.getTxtPassword().getPassword()); + //Valora si los campos etan vacios + if(registro.getTxtNombreUsuarioRegistro().getText().isEmpty()||valorPass.isEmpty()|| registro.getTxtCorreoRegistro().getText().isEmpty()){ + JOptionPane.showMessageDialog(null, "Error. Favor de llenar Todos los campos"); + }else{ + //Busca al usuario en la base de datos + Usuario user = new Usuario(registro.getTxtNombreUsuarioRegistro().getText(),valorPass, registro.getTxtCorreoRegistro().getText()); + if(consulta.agregarUsuario(user)){ + //Abre una nueva ventana + JOptionPane.showMessageDialog(null, user.getNombre() + "Registrado Correctamente"); + Login principal = new Login(); + principal.setLocationRelativeTo(null); + principal.setVisible(true); + registro.dispose(); + }else{ + JOptionPane.showMessageDialog(null, "Error. No se pudo crear el Usuario Intentalo más tarde"); + } + } } }); diff --git a/src/Main/Main.java b/src/Main/Main.java index 3c1260c..287eb95 100644 --- a/src/Main/Main.java +++ b/src/Main/Main.java @@ -1,11 +1,16 @@ package Main; +import Modelo.Usuario; import Vista.Login; +import Vista.SalaPrincipal; public class Main { public static void main(String[] args) { - Login login = new Login(); + /*Login login = new Login(); + login.setLocationRelativeTo(null); + login.setVisible(true);*/ + SalaPrincipal login = new SalaPrincipal(new Usuario()); login.setLocationRelativeTo(null); login.setVisible(true); } diff --git a/src/Modelo/Asiento.java b/src/Modelo/Asiento.java index 272a766..fc15632 100644 --- a/src/Modelo/Asiento.java +++ b/src/Modelo/Asiento.java @@ -8,40 +8,59 @@ package Modelo; * * @author citla */ -public class Asiento extends Zona{ +public class Asiento{ - private String id; + private int id; + private String nombre; private boolean estado; + private int id_zona; - public Asiento(String id, boolean estado, String nombre, double precio, Asiento[][] asientos, double montoRecaudado, Zona[] zonas) { - super(nombre, precio, asientos, montoRecaudado, zonas); + public Asiento(int id, String nombre, boolean estado, int id_zona) { this.id = id; + this.nombre = nombre; this.estado = estado; + this.id_zona = id_zona; } - public String getId() { + public int getId() { return id; } - public boolean getEstado() { + public String getNombre() { + return nombre; + } + + public boolean isEstado() { return estado; } - public void setId(String id) { + public int getId_zona() { + return id_zona; + } + + public void setId(int id) { this.id = id; } + public void setNombre(String nombre) { + this.nombre = nombre; + } + public void setEstado(boolean estado) { this.estado = estado; } - public void comprarAsiento(double dinero){ + public void setId_zona(int id_zona) { + this.id_zona = id_zona; } - + @Override public String toString() { - return "Asiento{" + "id=" + id + ", estado=" + estado + '}'; + return "Asiento{" + "id=" + id + ", nombre=" + nombre + ", estado=" + estado + ", id_zona=" + id_zona + '}'; } + + + } diff --git a/src/Modelo/Consulta.java b/src/Modelo/Consulta.java index c4ba64a..d29661c 100644 --- a/src/Modelo/Consulta.java +++ b/src/Modelo/Consulta.java @@ -15,7 +15,7 @@ public class Consulta { try { conexion = cn.conectar(); Statement stm; - String sql ="select * from Usuarios " + String sql ="select * from Usuarios " + "where nombreUsuario= '"+user.getNombre()+"' and password='"+user.getPassword()+"'"; stm = conexion.createStatement(); ResultSet resultado = stm.executeQuery(sql); @@ -51,5 +51,97 @@ public class Consulta { } return verificacion; } + + public boolean agregarUsuario(Usuario user) { + boolean verificacion =false; + try { + PreparedStatement ps; + conexion = cn.conectar(); + ps= conexion.prepareStatement("INSERT INTO `usuarios`(`nombreUsuario`, `correo`, `password`, `tipo`) VALUES(?,?,?,?);"); + ps.setString(1, user.getNombre()); + ps.setString(2, user.getCorreoelectronico()); + ps.setString(3, user.getPassword()); + ps.setString(4, user.getTipo()); + ps.executeUpdate(); + verificacion = true; + cn.cerrarconexion(); + } catch (SQLException e) { + System.err.println(e); + } + return verificacion; + } + + public Usuario getUsuario(Usuario user) { + Usuario u = new Usuario(); + try { + conexion = cn.conectar(); + Statement stm; + String sql ="select * from Usuarios " + + "where nombreUsuario= '"+user.getNombre()+"'"; + stm = conexion.createStatement(); + ResultSet resultado = stm.executeQuery(sql); + if(resultado.next()){ + u.setNombre(resultado.getString(1)); + u.setCorreoelectronico(resultado.getString(2)); + u.setPassword(resultado.getString(3)); + u.setTipo(resultado.getString(4)); + } + cn.cerrarconexion(); + } catch(SQLException e) { + System.err.println(e); + } + return u; + } + + public Zona[] getZonas() { + Zona zonas[] = new Zona[4]; + try { + conexion = cn.conectar(); + Statement stm; + String sql ="select * from zona;"; + stm = conexion.createStatement(); + ResultSet resultado = stm.executeQuery(sql); + while(resultado.next()){ + int i = resultado.getInt(1)-1; + zonas[i] = new Zona(resultado.getInt(1), resultado.getDouble(2)); + } + cn.cerrarconexion(); + } catch (Exception e) { + } + return zonas; + } + + public Asiento[][] getAsientosPorZona(int id, int columna, int fila) { + Asiento [][] asientos = new Asiento[fila][columna]; + Asiento [] asiento = new Asiento[columna*fila]; + try { + conexion = cn.conectar(); + Statement stm; + String sql ="select * from asiento " + + "where zona_id=" + id; + stm = conexion.createStatement(); + ResultSet resultado = stm.executeQuery(sql); + int i=1; + while(resultado.next()){ + asiento[i-1] = new Asiento(resultado.getInt(1), resultado.getString(2), resultado.getBoolean(3),resultado.getInt(4)); + i++; + } + int k = 0; + for (int l = 0; l < fila; l++) { + for (int j = 0; j < columna; j++) { + if (k < i) { // Check if there are elements in asiento + asientos[l][j] = asiento[k]; + } else { + } + k++; + } + } + cn.cerrarconexion(); + } catch (SQLException e) { + System.out.println(e.toString()); + } + + return asientos; + } } diff --git a/src/Modelo/Sala.java b/src/Modelo/Sala.java index c9b10cd..40d809e 100644 --- a/src/Modelo/Sala.java +++ b/src/Modelo/Sala.java @@ -8,10 +8,9 @@ package Modelo; * * @author citla */ -public abstract class Sala { +public class Sala { protected double montoRecaudado; protected Zona zonas []; - protected Zona z; public Sala(double montoRecaudado, Zona zonas []) { this.montoRecaudado=montoRecaudado; @@ -25,11 +24,15 @@ public abstract class Sala { public void setMontoRecaudado(double montoRecaudado) { this.montoRecaudado = montoRecaudado; } - - public double verMontoRecaudado(Zona z){ - montoRecaudado= montoRecaudado + z.precio; - return montoRecaudado; + + public Zona[] getZonas() { + return zonas; } + + public void setZonas(Zona[] zonas) { + this.zonas = zonas; + } + @Override public String toString() { diff --git a/src/Modelo/Usuario.java b/src/Modelo/Usuario.java index 9624f11..f1bc9c0 100644 --- a/src/Modelo/Usuario.java +++ b/src/Modelo/Usuario.java @@ -22,6 +22,14 @@ public class Usuario { this.nombre = nombre; this.password = password; } + + public Usuario(String nombre, String password, String correoelectronico) { + this.nombre = nombre; + this.password = password; + this.correoelectronico = correoelectronico; + this.tipo = "usuario"; + } + public String getNombre() { @@ -48,9 +56,17 @@ public class Usuario { this.tipo = tipo; } + public String getCorreoelectronico() { + return correoelectronico; + } + + public void setCorreoelectronico(String correoelectronico) { + this.correoelectronico = correoelectronico; + } + @Override public String toString() { - return "Usuario{" + "nombre=" + nombre + ", tipo=" + tipo + '}'; + return "Usuario{" + "nombre=" + nombre + ", password=" + password + ", tipo=" + tipo + ", correoelectronico=" + correoelectronico + '}'; } diff --git a/src/Modelo/Zona.java b/src/Modelo/Zona.java index c12f30b..fff028a 100644 --- a/src/Modelo/Zona.java +++ b/src/Modelo/Zona.java @@ -7,30 +7,50 @@ package Modelo; * * @author citla */ -public abstract class Zona extends Sala { //protected las variables y metodos +public class Zona{ //protected las variables y metodos - protected String nombre; + protected int id; protected double precio; protected Asiento [][] asientos; - public Zona(String nombre, double precio, Asiento[][] asientos, double montoRecaudado, Zona[] zonas) { - super(montoRecaudado, zonas); - this.nombre = nombre; + public Zona(int id, double precio, Asiento[][] asientos) { + this.id = id; this.precio = precio; this.asientos = asientos; } + + public Zona(int id, double precio) { + this.id = id; + this.precio = precio; + } public double getPrecio() { return precio; } + public Asiento[][] getAsientos() { + return asientos; + } + + public void setAsientos(Asiento[][] asientos) { + this.asientos = asientos; + } + public void setPrecio(double precio) { this.precio = precio; } + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + @Override public String toString() { - return "Zona{" + "nombre=" + nombre + ", precio=" + precio + ", asientos=" + asientos + '}'; + return "Zona{" + "id=" + id + ", precio=" + precio + '}'; } } diff --git a/src/Vista/salaPrincipal.form b/src/Vista/salaPrincipal.form index 4e55b8d..8ec2c27 100644 --- a/src/Vista/salaPrincipal.form +++ b/src/Vista/salaPrincipal.form @@ -1,36 +1,6 @@