Package Controlador

Source Code of Controlador.UsuarioControlador

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Controlador;

import Modelo.Usuario;
import Vista.UsuarioCrear;
import Vista.UsuarioEliminar;
import Vista.UsuarioLeer;
import Vista.UsuarioMain;
import Vista.UsuarioModificar;
import hirondelle.date4j.DateTime;
import java.util.LinkedHashMap;
import javax.swing.JOptionPane;
import javax.swing.JTable;
import javax.swing.JTextField;
import javax.swing.table.DefaultTableModel;

/**
*
* @author tincho
*/
public class UsuarioControlador {

    private void limpiarUsuarios(JTable tablaUsuarios) {
        if (tablaUsuarios.isValid()) {
            DefaultTableModel temp = (DefaultTableModel) tablaUsuarios.getModel();
            for (; temp.getRowCount() > 0;) {
                temp.removeRow(0);
            }
        }
    }

    public void leerUsuarios(LinkedHashMap<Integer, Usuario> mapaUsuarios, JTable jTableUsuarios) {
        if (jTableUsuarios.isValid()) {
            limpiarUsuarios(jTableUsuarios);
            for (Integer i : mapaUsuarios.keySet()) {
                DefaultTableModel temp = (DefaultTableModel) jTableUsuarios.getModel();
                Usuario u = mapaUsuarios.get(i);
                String[] fechaNacimiento = u.getFechaNacimiento().toString().split("-");
                String nacimiento = fechaNacimiento[2] + "/" + fechaNacimiento[1] + "/" + fechaNacimiento[0];
                Object[] fila = {u.getDni(), u.getApellido(), u.getNombre(), nacimiento};
                temp.addRow(fila);
            }
        }

    }

    public void ventanaLeer(LinkedHashMap<Integer, Usuario> mapaUsuarios) {
        if (mapaUsuarios.size() > 0) {
            UsuarioLeer usuarioLeer = new UsuarioLeer(mapaUsuarios);
            usuarioLeer.setVisible(true);
        } else {
            JOptionPane.showMessageDialog(null, "No hay usuarios cargados, por lo que no se pueden leer usuarios.");
        }
    }

    public void ventanaMain(LinkedHashMap<Integer, Usuario> mapaUsuarios) {
        UsuarioMain usuarioMain = new UsuarioMain(mapaUsuarios);
        usuarioMain.setVisible(true);
    }

    public void eliminarUsuarios(LinkedHashMap<Integer, Usuario> mapaUsuarios, JTable jTableUsuarios) {
        if (jTableUsuarios.isValid()) {
            int[] seleccionados = jTableUsuarios.getSelectedRows();
            if (seleccionados.length > 0) {
                DefaultTableModel temp = (DefaultTableModel) jTableUsuarios.getModel();
                for (int i : seleccionados) {
                    int indice = (int) temp.getValueAt(i, 0);
                    mapaUsuarios.remove(indice);
                }
                leerUsuarios(mapaUsuarios, jTableUsuarios);
                JOptionPane.showMessageDialog(null, "Usuarios eliminados exitosamente.");

            } else {
                JOptionPane.showMessageDialog(null, "Seleccione usuarios para eliminar.");
            }

        }
    }

    public void ventanaEliminar(LinkedHashMap<Integer, Usuario> mapaUsuarios) {
        if (mapaUsuarios.size() > 0) {
            UsuarioEliminar usuarioEliminar = new UsuarioEliminar(mapaUsuarios);
            usuarioEliminar.setVisible(true);
        } else {
            JOptionPane.showMessageDialog(null, "No se pueden eliminar usuarios porque no hay usuarios cargados.");
        }
    }

    public void ventanaModificar(LinkedHashMap<Integer, Usuario> mapaUsuarios) {
        if (mapaUsuarios.size() > 0) {
            UsuarioModificar usuarioModificar = new UsuarioModificar(mapaUsuarios);
            usuarioModificar.setVisible(true);

        } else {
            JOptionPane.showMessageDialog(null, "No se pueden eliminar usuarios porque no hay usuarios cargados.");
        }
    }

    public void seleccionarUsuario(JTable jTableUsuarios, JTextField dni, JTextField apellido, JTextField nombre, JTextField dia, JTextField mes, JTextField year) {
        if (jTableUsuarios.isValid() && dni.isValid() && apellido.isValid() && nombre.isValid() && dia.isValid() && mes.isValid() && year.isValid()) {
            Integer seleccionado = jTableUsuarios.getSelectedRow();
            if (seleccionado >= 0) {
                DefaultTableModel temp = (DefaultTableModel) jTableUsuarios.getModel();
                String documento = temp.getValueAt(seleccionado, 0).toString();
                String ap = temp.getValueAt(seleccionado, 1).toString();
                String nom = temp.getValueAt(seleccionado, 2).toString();
                String fecha = temp.getValueAt(seleccionado, 3).toString();
                String[] array = fecha.split("/");
                dia.setText(array[0]);
                mes.setText(array[1]);
                year.setText(array[2]);
                dni.setText(documento);
                apellido.setText(ap);
                nombre.setText(nom);
            } else {
                JOptionPane.showMessageDialog(null, "Seleccione un usuario.");
            }
        }

    }

    public void modificarUsuario(LinkedHashMap<Integer, Usuario> mapaUsuarios, JTable jTableUsuarios, JTextField jTextFieldDNI, JTextField jTextFieldApellido, JTextField jTextFieldNombre, JTextField jTextFieldDia, JTextField jTextFieldMes, JTextField jTextFieldY) {
        if (jTableUsuarios.isValid() && jTextFieldDNI.isValid() && jTextFieldApellido.isValid() && jTextFieldNombre.isValid() && jTextFieldDia.isValid() && jTextFieldMes.isValid() && jTextFieldY.isValid()) {
            Boolean dniValido = Vistas.getInstance().articulo.validarInput(jTextFieldDNI.getText());
            StringBuilder st = new StringBuilder();
            st.append(jTextFieldY.getText());
            st.append("-");
            st.append(jTextFieldMes.getText());
            st.append("-");
            st.append(jTextFieldDia.getText());
            JTextField fecha = new JTextField(st.toString());
            Boolean nacimientoValido = Vistas.getInstance().alquiler.validarFecha(fecha);
            if (dniValido && nacimientoValido) {
                Usuario u = mapaUsuarios.get(Integer.parseInt(jTextFieldDNI.getText()));
                u.setApellido(jTextFieldApellido.getText());
                u.setNombre(jTextFieldNombre.getText());
                u.setFechaNacimiento(new DateTime(st.toString()));
                leerUsuarios(mapaUsuarios, jTableUsuarios);
                JOptionPane.showMessageDialog(null, "Usuario modificado exitosamente.");
            } else {
                StringBuilder builder = new StringBuilder();
                builder.append("Datos invalidos:");
                if (!dniValido) {
                    builder.append("\nDNI invalido.");
                }
                if (!nacimientoValido) {
                    builder.append("\nFecha de nacimiento invalida.");
                }
                JOptionPane.showMessageDialog(null, builder.toString());
            }
        }
    }

    public void crearUsuario(LinkedHashMap<Integer, Usuario> usuarios, JTextField dni, JTextField apellido, JTextField nombre, JTextField dia, JTextField mes, JTextField year) {
        if (dni.isValid() && apellido.isValid() && nombre.isValid() && dia.isValid() && mes.isValid() && year.isValid()) {
            Boolean dniValido = Vistas.getInstance().articulo.validarInput(dni.getText());
            Boolean noRepetido = false;
            if (dniValido) {
                noRepetido = !usuarios.containsKey(Integer.parseInt(dni.getText()));
            }
            StringBuilder st = new StringBuilder();
            st.append(year.getText());
            st.append("-");
            st.append(mes.getText());
            st.append("-");
            st.append(dia.getText());
            JTextField fecha = new JTextField(st.toString());
            Boolean nacimientoValido = Vistas.getInstance().alquiler.validarFecha(fecha);
            if (dniValido && nacimientoValido && noRepetido) {
                Usuario u = new Usuario(apellido.getText(), nombre.getText(), Integer.parseInt(dni.getText()), new DateTime(st.toString()));
                usuarios.put(u.getDni(), u);
                JOptionPane.showMessageDialog(null, "Usuario agregado exitosamente.");
            } else {
                StringBuilder builder = new StringBuilder();
                builder.append("Datos invalidos:");
                if (!dniValido) {
                    builder.append("\nDNI invalido.");
                } else {
                    if (!noRepetido) {
                        builder.append("\nEl DNI ya existe.");
                    }
                }
                if (!nacimientoValido) {
                    builder.append("\nFecha de nacimiento invalida.");
                }
                JOptionPane.showMessageDialog(null, builder.toString());
            }
        }
    }

    public void ventanaCrear(LinkedHashMap<Integer, Usuario> mapaUsuarios) {
        UsuarioCrear usuarioCrear = new UsuarioCrear(mapaUsuarios);
        usuarioCrear.setVisible(true);
    }
}
TOP

Related Classes of Controlador.UsuarioControlador

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.