Package carcel.controllers

Source Code of carcel.controllers.VisitasController

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

import carcel.constant.VistasCarceles;
import carcel.dialogs.popups.EntitySelectionListener;
import carcel.dialogs.popups.SelectorPopUp;
import carcel.views.PanelListener;
import carcel.customExceptions.UIValidateException;
import carcel.views.VisitasView;
import conexion.base.EntityController;
import entidades.Preso;
import entidades.Usuario;
import entidades.Visita;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.sql.Time;
import javax.swing.JOptionPane;

/**
*
* @author Familia
*/
public class VisitasController extends VisitasView{
    EntityController ec;
    PanelListener listener;
    Preso preso;

    public VisitasController(Usuario usuario) {
        this.ec = EntityController.getInstance();
        setVisible(true);
        addHandlerButton();
    }
   
    private void addHandlerButton() {
        cancelarButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                listener.onPanelClose();
            }
        });
       
        buscarButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                SelectorPopUp<Preso> popUP = new SelectorPopUp<Preso>(PrincipalController.instanciaControllerPrincipal(), new EntitySelectionListener<Preso>() {

                    @Override
                    public void onEntitySelected(Preso entity) {
                        preso = entity;
                        nroPresoField.setText(String.valueOf(preso.getNropreso()));
                    }

                    @Override
                    public void onNotEntitySelected() {
                        //Nada;
                    }
                }, VistasCarceles.PRESO_LISTA_VIEW, Preso.class);
                popUP.showPopUp();
            }
        });
       
        guardarButton.addActionListener(new ActionListener() {

            public void actionPerformed(ActionEvent e) {
                try {
                    validarDatos();
                   
                    if (JOptionPane.showConfirmDialog(VisitasController.this, "Desea Guardar?", "Gestion Visitas", JOptionPane.YES_NO_OPTION) == JOptionPane.YES_OPTION) {
                        Visita visita = new Visita();
                       
                        Integer nro = Integer.valueOf(nroPresoField.getText());
                        Preso p = (Preso) ec.createQuery("select p from Preso p where p.nroPreso = :nro", Preso.class).setParameter("nro", nro).getSingleResult();
                       
                        visita.setPreso(p);
                        visita.setApellidoVisita(apellidoField.getText());
                        visita.setNombreVisita(nombreField.getText());
                        visita.setFechaVisita(fechaDateChooser.getDate());
                        visita.setHoraIngreso(Time.valueOf(horaEntradaField.getText() + ":00"));
                       
                        if (!horaSalidaField.getText().isEmpty())
                            visita.setHoraEgreso(Time.valueOf(horaSalidaField.getText() + ":00"));

                        ec.persist(visita, true);
                   
                        listener.onPanelClose();
                    }
                   
                } catch (UIValidateException ex){
                    JOptionPane.showMessageDialog(VisitasController.this, ex.getMessage());
                }
            }
        });
    }
   
    public void setPanelListener(PanelListener listener) {
        this.listener = listener;
    }
}
TOP

Related Classes of carcel.controllers.VisitasController

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.