package org.salamanca.ui;
import java.awt.*;
import javax.swing.*;
import componenteTabla.*;
import org.salamanca.commands.persona.InsertarPersona;
import org.salamanca.domain.Persona;
import java.util.Vector;
import java.util.Date;
import org.salamanca.commands.*;
import org.salamanca.commands.persona.EliminarPersona;
import org.salamanca.broker.BrokerServer;
import org.salamanca.domain.User;
import org.salamanca.commands.persona.ModificarPersona;
import java.awt.Rectangle;
import java.awt.Font;
import java.awt.Dimension;
import com.borland.jbcl.layout.XYLayout;
import com.borland.jbcl.layout.*;
import java.text.SimpleDateFormat;
import java.text.*;
import javax.swing.event.InternalFrameEvent;
import javax.swing.event.InternalFrameAdapter;
import java.awt.BorderLayout;
import org.jdoinstruments.runtime.discfilemodel.util.DirectOID;
import org.salamanca.domain.Curso;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import org.salamanca.reportes.cursosdeunapersona.CursosDeUnaPersona;
/**
* <p>Title: </p>
*
* <p>Description: </p>
*
* <p>Copyright: Copyright (c) 2006</p>
*
* <p>Company: </p>
*
* @author not attributable
* @version 1.0
*/
public class PersonaFrame extends JInternalFrame {
JPanel jPanel1 = new JPanel();
compomenteABMCList compomenteABMCListPersonas = new
compomenteABMCList();
BorderLayout borderLayout1 = new BorderLayout();
JLabel jLabel1 = new JLabel();
MainFrame mainFrame;
BorderLayout borderLayout2 = new BorderLayout();
JPanel jPanel2 = new JPanel();
JPanel jPanel3 = new JPanel();
JButton jButtonCursosAsiciados = new JButton();
JButton jButtonDescuentos = new JButton();
JButton jButtonVales = new JButton();
public PersonaFrame() {
try {
jbInit();
loadList();
} catch (Exception exception) {
exception.printStackTrace();
}
}
public PersonaFrame(MainFrame mainFrame) {
this.mainFrame = mainFrame;
try {
jbInit();
loadList();
} catch (Exception exception) {
exception.printStackTrace();
}
}
private void jbInit() throws Exception {
getContentPane().setLayout(borderLayout2);
jPanel1.setBorder(BorderFactory.createEtchedBorder());
jPanel1.setLayout(borderLayout1);
this.setClosable(true);
this.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
this.setMaximizable(true);
this.setResizable(true);
this.setTitle("Alumnos del Instituto");
this.setMaximumSize(new Dimension(520, 430));
this.addInternalFrameListener(new
PersonaFrame_this_internalFrameAdapter(this));
this.setSize(520, 430);
jLabel1.setFont(new java.awt.Font("Arial", Font.PLAIN, 22));
jLabel1.setText("Alumnos del Instituto");
jButtonCursosAsiciados.setText("Cursos");
jButtonCursosAsiciados.addActionListener(new
PersonaFrame_jButtonCursosAsiciados_actionAdapter(this));
jButtonDescuentos.setText("Descuentos");
jButtonDescuentos.addActionListener(new
PersonaFrame_jButtonDescuentos_actionAdapter(this));
jButtonVales.setText("Vales");
jButtonVales.addActionListener(new
PersonaFrame_jButtonVales_actionAdapter(this));
jPanel1.add(compomenteABMCListPersonas, java.awt.BorderLayout.CENTER);
jPanel2.add(jLabel1);
this.getContentPane().add(jPanel1, java.awt.BorderLayout.CENTER);
this.getContentPane().add(jPanel3, java.awt.BorderLayout.SOUTH);
jPanel3.add(jButtonVales);
jPanel3.add(jButtonCursosAsiciados);
jPanel3.add(jButtonDescuentos);
this.getContentPane().add(jPanel2, java.awt.BorderLayout.NORTH);
jPanel3.add(jButtonDescuentos);
compomenteABMCListPersonas.setVisibleCantidadRegistros(true);
compomenteABMCListPersonas.setVisibleBuscar(true);
compomenteABMCListPersonas.setInfoColumna(new String[][] { {"nombre",
"tipo", "editable", "editor",
"val.Combo", "Ancho Columna"}
, {"Nombre", "String", "true",
"comun", "", "50"}
, {"Apellido", "String",
"true",
"comun", "", "50"}
, {"DNI", "Long", "true",
"comun",
"", "30"}
, {"Masculino", "Boolean",
"true",
"comun", "", "60"}
, {"Domicilio", "String",
"true",
"comun", "", "50"}
, {"Localidad", "String",
"true",
"comun", "", "50"}
, {"Codigo Postal", "String",
"true", "comun", "", "50"}
, {"Telefono", "String",
"true",
"comun", "", "50"}
, {"Fecha de Nacimiento",
"String",
"true", "comun", "", "80"}
, {"oid", "String",
"false", "comun", "", "1"}
});
compomenteABMCListPersonas.setPrimaryKeyColumn(2); //es el DNI
compomenteABMCListPersonas.setVisibleAgregar(true);
compomenteABMCListPersonas.setVisibleOrdenar(false);
compomenteABMCListPersonas.setVisibleModificar(true);
compomenteABMCListPersonas.setVisibleImprimir(true);
compomenteABMCListPersonas.setVisibleGuardarComo(false);
compomenteABMCListPersonas.setVisibleHeaderTabla(true);
compomenteABMCListPersonas.setVisibleFiltrar(false);
compomenteABMCListPersonas.setVisibleEliminar(true);
compomenteABMCListPersonas.setVisibleCopyclipboard(true);
compomenteABMCListPersonas.setVisibleReportes(true);
compomenteABMCListPersonas.setEditableBoolean(false);
compomenteABMCListPersonas.setTituloImprimir("Alumnos del Instituto ");
compomenteABMCListPersonas.addModificarListener(new
PersonaFrame_compomenteABMCListPersonas_modificarAdapter(this));
compomenteABMCListPersonas.addEliminarListener(new
PersonaFrame_compomenteABMCListPersonas_eliminarAdapter(this));
compomenteABMCListPersonas.addInsertarListener(new
PersonaFrame_compomenteABMCListPersonas_insertarAdapter(this));
}
/**
* compomenteABMCListPersonas_Insercion
*
* @param e InsertarEvent
*/
void compomenteABMCListPersonas_Insercion(InsertarEvent e) {
Persona persona = new Persona();
String nombre = (String) ((Vector) e.getVector()).elementAt(0);
String apellido = (String) ((Vector) e.getVector()).elementAt(1);
long dni = ((Long) ((Vector) e.getVector()).elementAt(2)).longValue();
boolean masculino = ((Boolean) ((Vector) e.getVector()).elementAt(3)).
booleanValue();
String domicilio = (String) ((Vector) e.getVector()).elementAt(4);
String localidad = (String) ((Vector) e.getVector()).elementAt(5);
String codigoPostal = (String) ((Vector) e.getVector()).elementAt(6);
String telefono = (String) ((Vector) e.getVector()).elementAt(7);
SimpleDateFormat dateFormatInicio = new SimpleDateFormat("d-M-yyyy");
String fechaNacimientoStr = (String) ((Vector) e.getVector()).elementAt(
8);
Date fechaNacimiento = null;
try {
fechaNacimiento = dateFormatInicio.parse(fechaNacimientoStr);
} catch (ParseException ex1) {
JOptionPane.showMessageDialog(this, "Fecha erronea");
loadList();
return;
}
persona.setNombre(nombre);
persona.setApellido(apellido);
persona.setDni(dni);
persona.setMasculino(masculino);
persona.setDomicilio(domicilio);
persona.setLocalidad(localidad);
persona.setCodigoPostal(codigoPostal);
persona.setTelefono(telefono);
persona.setFechaNacimiento(fechaNacimiento);
ICommand insertarPersona = CommandFactory.createInsertarPersona(persona);
try {
insertarPersona.execute();
} catch (Exception ex) {
JOptionPane.showMessageDialog(this, ex.getMessage());
}
loadList();
}
/**
* compomenteABMCListPersonas_Eliminacion
*
* @param e EliminarEvent
*/
public void compomenteABMCListPersonas_Eliminacion(EliminarEvent e) {
String oidStr = ((String) ((Vector) e.getVector()).elementAt(9));
kodo.util.Id oid = new kodo.util.Id(oidStr);
Persona persona = (Persona) BrokerServer.instance().getPMF().
getPersistenceManager().getObjectById(oid,true);
ICommand eiminarPersona = CommandFactory.createEliminarPersona(persona);
try {
eiminarPersona.execute();
} catch (Exception ex) {
JOptionPane.showMessageDialog(this, ex.getMessage());
}
loadList();
}
/**
* compomenteABMCListPersonas_Modificacion
*
* @param e ModificarEvent
*/
public void compomenteABMCListPersonas_Modificacion(ModificarEvent e) {
long dni = ((Long) ((Vector) e.getVector()).elementAt(2)).longValue();
String nombre = (String) ((Vector) e.getVector()).elementAt(0);
String apellido = (String) ((Vector) e.getVector()).elementAt(1);
boolean masculino = ((Boolean) ((Vector) e.getVector()).elementAt(3)).
booleanValue();
String domicilio = (String) ((Vector) e.getVector()).elementAt(4);
String localidad = (String) ((Vector) e.getVector()).elementAt(5);
String codigoPostal = (String) ((Vector) e.getVector()).elementAt(6);
String telefono = (String) ((Vector) e.getVector()).elementAt(7);
SimpleDateFormat dateFormatInicio = new SimpleDateFormat("d-M-yyyy");
String fechaNacimientoStr = (String) ((Vector) e.getVector()).elementAt(
8);
Date fechaNacimiento = null;
try {
fechaNacimiento = dateFormatInicio.parse(fechaNacimientoStr);
} catch (ParseException ex1) {
JOptionPane.showMessageDialog(this, "Fecha erronea");
loadList();
return;
}
String oidStr = ((String) ((Vector) e.getVector()).elementAt(9));
kodo.util.Id oid = new kodo.util.Id(oidStr);
Persona persona = (Persona) BrokerServer.instance().getPMF().
getPersistenceManager().getObjectById(oid,true);
ICommand modificarPersona = CommandFactory.createModificarPersona(
persona,
nombre, apellido, dni, masculino, domicilio, localidad,
codigoPostal, telefono, fechaNacimiento);
try {
modificarPersona.execute();
} catch (Exception ex) {
JOptionPane.showMessageDialog(this, ex.getMessage());
}
loadList();
}
/**
* loadList
*/
private void loadList() {
try {
compomenteABMCListPersonas.clearDatos();
Vector v = org.salamanca.broker.BrokerServer.instance().getAll(
Persona.class);
if ((v != null) && (v.size() > 0)) {
Object[][] trabajo = new Object[v.size()][10];
for (int i = 0; i < v.size(); i++) {
Persona persona = (Persona) v.elementAt(i);
trabajo[i][0] = persona.getNombre();
trabajo[i][1] = persona.getApellido();
trabajo[i][2] = new Long(persona.getDni());
trabajo[i][3] = new Boolean(persona.isMasculino());
trabajo[i][4] = persona.getDomicilio();
trabajo[i][5] = persona.getLocalidad();
trabajo[i][6] = persona.getCodigoPostal();
trabajo[i][7] = persona.getTelefono();
SimpleDateFormat dateFormatInicio = new SimpleDateFormat(
"d-M-yyyy");
trabajo[i][8] = dateFormatInicio.format(persona.
getFechaNacimiento());
trabajo[i][9] = javax.jdo.JDOHelper.
getObjectId(persona).toString();
}
compomenteABMCListPersonas.setDatos(trabajo);
}
}
catch (Exception ex) {
ex.printStackTrace();
}
}
public void this_internalFrameClosing(InternalFrameEvent e) {
this.mainFrame.alumnoFrame.show();
}
public void jButtonCursosAsiciados_actionPerformed(ActionEvent e) {
if (compomenteABMCListPersonas.getSelectedRow() != -1) {
String oidStr = ((String) compomenteABMCListPersonas.
getSelectedRowData().
getValueAt(9));
kodo.util.Id oid = new kodo.util.Id(oidStr);
Persona persona = (Persona) BrokerServer.instance().getPMF().
getPersistenceManager().getObjectById(oid, true);
CursosDeUnaPersona cursosDeUnaPersona = new CursosDeUnaPersona();
cursosDeUnaPersona.setPersona(persona);
cursosDeUnaPersona.display();
}
}
/**
* jButtonDescuentos_actionPerformed
*
* @param e ActionEvent
*/
public void jButtonDescuentos_actionPerformed(ActionEvent e) {
if (compomenteABMCListPersonas.getSelectedRow() != -1) {
String oidStr = ((String) compomenteABMCListPersonas.
getSelectedRowData().
getValueAt(9));
kodo.util.Id oid = new kodo.util.Id(oidStr);
Persona persona = (Persona) BrokerServer.instance().getPMF().
getPersistenceManager().getObjectById(oid, true);
mainFrame.frameDescuentosPersona.loadPersona(persona);
mainFrame.frameDescuentosPersona.setVisible(true);
this.setVisible(false);
}
}
/**
* jButtonVales_actionPerformed
*
* @param e ActionEvent
*/
public void jButtonVales_actionPerformed(ActionEvent e) {
if (compomenteABMCListPersonas.getSelectedRow() != -1) {
String oidStr = ((String) compomenteABMCListPersonas.
getSelectedRowData().
getValueAt(9));
kodo.util.Id oid = new kodo.util.Id(oidStr);
Persona persona = (Persona) BrokerServer.instance().getPMF().
getPersistenceManager().getObjectById(oid, true);
mainFrame.valeFrame.loadPersona(this.mainFrame,persona);
mainFrame.valeFrame.setVisible(true);
this.setVisible(false);
}
}
}
class PersonaFrame_jButtonVales_actionAdapter implements ActionListener {
private PersonaFrame adaptee;
PersonaFrame_jButtonVales_actionAdapter(PersonaFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButtonVales_actionPerformed(e);
}
}
class PersonaFrame_jButtonDescuentos_actionAdapter implements ActionListener {
private PersonaFrame adaptee;
PersonaFrame_jButtonDescuentos_actionAdapter(PersonaFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButtonDescuentos_actionPerformed(e);
}
}
class PersonaFrame_jButtonCursosAsiciados_actionAdapter implements
ActionListener {
private PersonaFrame adaptee;
PersonaFrame_jButtonCursosAsiciados_actionAdapter(PersonaFrame adaptee) {
this.adaptee = adaptee;
}
public void actionPerformed(ActionEvent e) {
adaptee.jButtonCursosAsiciados_actionPerformed(e);
}
}
class PersonaFrame_this_internalFrameAdapter extends InternalFrameAdapter {
private PersonaFrame adaptee;
PersonaFrame_this_internalFrameAdapter(PersonaFrame adaptee) {
this.adaptee = adaptee;
}
public void internalFrameClosing(InternalFrameEvent e) {
adaptee.this_internalFrameClosing(e);
}
}
class PersonaFrame_compomenteABMCListPersonas_modificarAdapter implements
ModificarListener {
private PersonaFrame adaptee;
PersonaFrame_compomenteABMCListPersonas_modificarAdapter(PersonaFrame
adaptee) {
this.adaptee = adaptee;
}
public void Modificacion(ModificarEvent e) {
adaptee.compomenteABMCListPersonas_Modificacion(e);
}
}
class PersonaFrame_compomenteABMCListPersonas_eliminarAdapter implements
EliminarListener {
private PersonaFrame adaptee;
PersonaFrame_compomenteABMCListPersonas_eliminarAdapter(PersonaFrame
adaptee) {
this.adaptee = adaptee;
}
public void Eliminacion(EliminarEvent e) {
adaptee.compomenteABMCListPersonas_Eliminacion(e);
}
}
class PersonaFrame_compomenteABMCListPersonas_insertarAdapter implements
componenteTabla.InsertarListener {
PersonaFrame adaptee;
PersonaFrame_compomenteABMCListPersonas_insertarAdapter(PersonaFrame
adaptee) {
this.adaptee = adaptee;
}
public void Insercion(InsertarEvent e) {
adaptee.compomenteABMCListPersonas_Insercion(e);
}
}