Tecnicamente esto es la version final ya
No hay mucho ams que hacer, la entrega es en una hora aprox
This commit is contained in:
1
.idea/saveactions_settings.xml
generated
1
.idea/saveactions_settings.xml
generated
@@ -8,7 +8,6 @@
|
||||
<option value="noActionIfCompileErrors" />
|
||||
<option value="organizeImports" />
|
||||
<option value="reformat" />
|
||||
<option value="rearrange" />
|
||||
<option value="unqualifiedFieldAccess" />
|
||||
<option value="unqualifiedMethodAccess" />
|
||||
<option value="missingOverrideAnnotation" />
|
||||
|
||||
116
db/data.sql
116
db/data.sql
@@ -1,119 +1,7 @@
|
||||
start transaction;
|
||||
|
||||
set foreign_key_checks = 0;
|
||||
set autocommit = 0;
|
||||
|
||||
INSERT INTO `autor`
|
||||
VALUES (1, 'Howard Philips', 'Lovecraft', NULL, '2019-06-12 20:18:57'),
|
||||
(2, 'Stephen', 'King', NULL, '2019-06-12 20:18:57'),
|
||||
(3, 'Brandon', 'Sanderson', NULL, '2019-06-12 20:18:57');
|
||||
|
||||
INSERT INTO `categoria`
|
||||
VALUES (1, 'Terror', '2019-06-12 20:18:57'),
|
||||
(2, 'Aventura', '2019-06-12 20:18:57'),
|
||||
(3, 'Fantasia', '2019-06-12 20:18:57');
|
||||
|
||||
INSERT INTO `cliente`
|
||||
VALUES (1, '21786653-7', 'Cliente', '1', '1', '2019-06-17', '2019-06-13 20:01:33'),
|
||||
(2, '17181388-3', 'Cliente', '2', '2', '2019-06-13', '2019-06-13 20:04:02');
|
||||
|
||||
INSERT INTO `compra`
|
||||
VALUES (1, 1, 2, '2019-07-03 23:03:36');
|
||||
|
||||
INSERT INTO `correo`
|
||||
VALUES (1, 'HOOLA', '2019-06-13 21:25:41'),
|
||||
(2, 'skrd159@gmail.com', '2019-06-13 21:32:13');
|
||||
INSERT INTO `distribuidor`
|
||||
VALUES (2, 1, '14166920-6', '2019-06-13 07:08:17'),
|
||||
(3, 2, '8425080-5', '2019-06-13 07:08:23'),
|
||||
(4, 1, '21629388-6', '2019-06-13 07:08:25'),
|
||||
(5, 1, '13510176-1', '2019-06-13 07:08:27');
|
||||
INSERT INTO `editorial`
|
||||
VALUES (1, 'Editorial N1', '2019-06-12 20:18:57'),
|
||||
(2, 'Editorial N2', '2019-06-12 20:18:57'),
|
||||
(3, 'Editorial N3', '2019-06-12 20:18:57');
|
||||
INSERT INTO `ejemplar`
|
||||
VALUES (1, 1, 3, '123', '2019-07-03 23:03:36');
|
||||
INSERT INTO `ejemplar_compra`
|
||||
VALUES (1, 1);
|
||||
INSERT INTO `empresa`
|
||||
VALUES (1, 'Empresa 1', '2019-06-13 04:39:50'),
|
||||
(2, 'Empresa 2', '2019-06-13 04:39:52');
|
||||
INSERT INTO `estado`
|
||||
VALUES (1, 'Vendido', '2019-06-12 20:18:57'),
|
||||
(2, 'Arrendado', '2019-06-12 20:18:57'),
|
||||
(3, 'Disponible', '2019-06-12 20:18:57');
|
||||
INSERT INTO `factura`
|
||||
VALUES (1, '159', 5000, '2019-07-03 00:00:00', '2019-07-03 23:03:36');
|
||||
INSERT INTO `idioma`
|
||||
VALUES (1, 'Español', '2019-06-12 20:18:57'),
|
||||
(2, 'Ingles', '2019-06-12 20:18:57'),
|
||||
(3, 'Portuges', '2019-06-12 20:18:57'),
|
||||
(4, 'Aleman', '2019-06-12 20:18:57'),
|
||||
(5, 'Ruso', '2019-06-12 20:18:57'),
|
||||
(6, 'Japones', '2019-06-12 20:18:57');
|
||||
INSERT INTO `libro`
|
||||
VALUES (1, 1, '0-765-31178-X', 2006, 541, 'Mistborn: The Final Empire', 10000,
|
||||
'2019-06-12 20:18:57'),
|
||||
(2, 1, '0-765-31688-9', 2007, 590, 'Mistborn: The Well of Ascension', 10000,
|
||||
'2019-06-12 20:18:57'),
|
||||
(3, 1, '978-0-7653-1689-9', 2008, 572, 'Mistborn: The Hero of Ages', 10000,
|
||||
'2019-06-12 20:18:57'),
|
||||
(4, 2, '1231231231232', 1931, 100, 'The Shadow over Innsmouth', 10000,
|
||||
'2019-06-12 20:18:57'),
|
||||
(5, 2, '1231231231232', 1933, 100, 'The Dreams in the Witch House', 10000,
|
||||
'2019-06-12 20:18:57'),
|
||||
(6, 2, '1231231231232', 1936, 100, 'At the Mountains of Madness', 10000,
|
||||
'2019-06-12 20:18:57'),
|
||||
(7, 3, '0385086954', 1974, 199, 'Carrie', 10000, '2019-06-12 20:18:57'),
|
||||
(8, 3, '978-0-670-26077-5', 1979, 428, 'The Dead Zone', 10000, '2019-06-12 20:18:57'),
|
||||
(9, 3, '0-670-81302-8', 1986, 1138, 'It', 10000, '2019-06-12 20:18:57');
|
||||
INSERT INTO `libro_autor`
|
||||
VALUES (1, 3),
|
||||
(2, 3),
|
||||
(3, 3),
|
||||
(4, 1),
|
||||
(5, 1),
|
||||
(6, 1),
|
||||
(7, 2),
|
||||
(8, 2),
|
||||
(9, 2);
|
||||
INSERT INTO `libro_categoria`
|
||||
VALUES (1, 3),
|
||||
(2, 3),
|
||||
(3, 3),
|
||||
(4, 1),
|
||||
(5, 1),
|
||||
(6, 1),
|
||||
(7, 1),
|
||||
(8, 1),
|
||||
(9, 1);
|
||||
INSERT INTO `libro_idioma`
|
||||
VALUES (1, 2),
|
||||
(2, 2),
|
||||
(3, 2),
|
||||
(4, 2),
|
||||
(5, 2),
|
||||
(6, 2),
|
||||
(7, 2),
|
||||
(8, 2),
|
||||
(9, 2);
|
||||
INSERT INTO `libro_orden_compra`
|
||||
VALUES (1, 1);
|
||||
INSERT INTO `orden_compra`
|
||||
VALUES (1, 'Recibida', 1, 2, '2019-07-03 23:03:36');
|
||||
INSERT INTO `trabajador`
|
||||
VALUES (2, '19763899-0', 'Daniel', 'Cortes', 'Pincheira', '2019-06-13', '2019-06-13 20:04:42'),
|
||||
(3, '10768789-0', 'Trabajador', 'N', '2', '2019-06-13', '2019-06-13 20:05:17'),
|
||||
(4, '9717478-4', 'Trabajador', 'N', '3', '2019-06-13', '2019-06-13 20:05:27');
|
||||
INSERT INTO `trabajador_correo`
|
||||
VALUES (4, 1),
|
||||
(2, 2);
|
||||
INSERT INTO `usuario`
|
||||
VALUES (2, 'admin', 0x243168097E0BA82B896F348BABCEB600A8DCA30488C6F238F97FD8737BD00B27,
|
||||
0x3564ECCCD85CF0583F9C090602E998B7, 2, '2019-06-13 20:04:53');
|
||||
|
||||
INSERT INTO `arriendo` VALUES (1,2,1,500,'2019-07-07','2019-07-23','2019-07-07',100,'2019-07-07 18:28:15'); INSERT INTO `autor` VALUES (1,'Howard Philips','Lovecraft',NULL,'2019-06-13 00:18:57'),(2,'Stephen','King',NULL,'2019-06-13 00:18:57'),(3,'Brandon','Sanderson',NULL,'2019-06-13 00:18:57'); INSERT INTO `boleta` VALUES (1,'b1595951-87dd-4b4c-9d02-777f9be98ea2',10000,'2019-07-07 00:00:00','2019-07-07 18:40:52'); INSERT INTO `categoria` VALUES (1,'Terror','2019-06-13 00:18:57'),(2,'Aventura','2019-06-13 00:18:57'),(3,'Fantasia','2019-06-13 00:18:57'); INSERT INTO `cliente` VALUES (1,'21786653-7','Cliente','1','1','2019-06-17','2019-06-14 00:01:33'),(2,'17181388-3','Cliente','2','2','2019-06-13','2019-06-14 00:04:02'); INSERT INTO `compra` VALUES (1,1,2,'2019-07-04 03:03:36'),(2,2,4,'2019-07-09 22:35:37'); INSERT INTO `correo` VALUES (1,'HOOLA','2019-06-14 01:25:41'),(2,'skrd159@gmail.com','2019-06-14 01:32:13'); INSERT INTO `distribuidor` VALUES (2,1,'14166920-6','2019-06-13 11:08:17'),(3,2,'8425080-5','2019-06-13 11:08:23'),(4,1,'21629388-6','2019-06-13 11:08:25'),(5,1,'13510176-1','2019-06-13 11:08:27'); INSERT INTO `editorial` VALUES (1,'Editorial N1','2019-06-13 00:18:57'),(2,'Editorial N2','2019-06-13 00:18:57'),(3,'Editorial N3','2019-06-13 00:18:57'); INSERT INTO `ejemplar` VALUES (1,1,1,'123','2019-07-04 03:03:36'),(2,3,3,'a','2019-07-09 22:35:37'),(3,3,3,'b','2019-07-09 22:35:37'),(4,3,3,'c','2019-07-09 22:35:37'),(5,3,3,'d','2019-07-09 22:35:37'),(6,3,3,'e','2019-07-09 22:35:37'),(7,3,3,'f','2019-07-09 22:35:37'),(8,3,3,'g','2019-07-09 22:35:37'),(9,3,3,'h','2019-07-09 22:35:37'),(10,3,3,'i','2019-07-09 22:35:37'),(11,3,3,'j','2019-07-09 22:35:37'); INSERT INTO `ejemplar_arriendo` VALUES (1,1); INSERT INTO `ejemplar_compra` VALUES (1,1),(2,2),(3,2),(4,2),(5,2),(6,2),(7,2),(8,2),(9,2),(10,2),(11,2); INSERT INTO `ejemplar_venta` VALUES (1,1); INSERT INTO `empresa` VALUES (1,'Empresa 1','2019-06-13 08:39:50'),(2,'Empresa 2','2019-06-13 08:39:52'); INSERT INTO `estado` VALUES (1,'Vendido','2019-06-13 00:18:57'),(2,'Arrendado','2019-06-13 00:18:57'),(3,'Disponible','2019-06-13 00:18:57'); INSERT INTO `factura` VALUES (1,'159',5000,'2019-07-03 00:00:00','2019-07-04 03:03:36'),(2,'1000',15000,'2019-07-09 00:00:00','2019-07-09 22:35:37'); INSERT INTO `idioma` VALUES (1,'Español','2019-06-13 00:18:57'),(2,'Ingles','2019-06-13 00:18:57'),(3,'Portuges','2019-06-13 00:18:57'),(4,'Aleman','2019-06-13 00:18:57'),(5,'Ruso','2019-06-13 00:18:57'),(6,'Japones','2019-06-13 00:18:57'); INSERT INTO `libro` VALUES (1,1,'0-765-31178-X',2006,541,'Mistborn: The Final Empire',10000,'2019-06-13 00:18:57'),(2,1,'0-765-31688-9',2007,590,'Mistborn: The Well of Ascension',10000,'2019-06-13 00:18:57'),(3,1,'978-0-7653-1689-9',2008,572,'Mistborn: The Hero of Ages',10000,'2019-06-13 00:18:57'),(4,2,'1231231231232',1931,100,'The Shadow over Innsmouth',10000,'2019-06-13 00:18:57'),(5,2,'1231231231232',1933,100,'The Dreams in the Witch House',10000,'2019-06-13 00:18:57'),(6,2,'1231231231232',1936,100,'At the Mountains of Madness',10000,'2019-06-13 00:18:57'),(7,3,'0385086954',1974,199,'Carrie',10000,'2019-06-13 00:18:57'),(8,3,'978-0-670-26077-5',1979,428,'The Dead Zone',10000,'2019-06-13 00:18:57'),(9,3,'0-670-81302-8',1986,1138,'It',10000,'2019-06-13 00:18:57'); INSERT INTO `libro_autor` VALUES (1,3),(2,3),(3,3),(4,1),(5,1),(6,1),(7,2),(8,2),(9,2); INSERT INTO `libro_categoria` VALUES (1,3),(2,3),(3,3),(4,1),(5,1),(6,1),(7,1),(8,1),(9,1); INSERT INTO `libro_idioma` VALUES (1,2),(2,2),(3,2),(4,2),(5,2),(6,2),(7,2),(8,2),(9,2); INSERT INTO `libro_orden_compra` VALUES (1,1),(3,2),(3,2),(3,2),(3,2),(3,2),(3,2),(3,2),(3,2),(3,2),(3,2); INSERT INTO `orden_compra` VALUES (1,'Recibida',1,2,'2019-07-04 03:03:36'),(2,'Recibida',2,4,'2019-07-09 22:35:37'); INSERT INTO `trabajador` VALUES (2,'19763899-0','Daniel','Cortes','Pincheira','2019-06-13','2019-06-14 00:04:42'),(3,'10768789-0','Trabajador','N','2','2019-06-13','2019-06-14 00:05:17'),(4,'9717478-4','Trabajador','N','3','2019-06-13','2019-06-14 00:05:27'),(5,'10232662-8','Profe','Profe','Profe','2019-07-09','2019-07-09 22:36:25'); INSERT INTO `trabajador_correo` VALUES (4,1),(2,2); INSERT INTO `usuario` VALUES (2,'admin',0x243168097E0BA82B896F348BABCEB600A8DCA30488C6F238F97FD8737BD00B27,0x3564ECCCD85CF0583F9C090602E998B7,2,'2019-06-14 00:04:53'),(3,'profe',0xC73B34E9EBCFC48BAF2578FF9C863980B09414391C768406AA38CC46479B01F5,0xECAE61B1271D610C178F26F261BC116C,5,'2019-07-09 22:36:41'); INSERT INTO `venta` VALUES (1,1,2,1,'2019-07-07 18:40:52');
|
||||
set autocommit = 1;
|
||||
set foreign_key_checks = 1;
|
||||
|
||||
commit;
|
||||
commit;
|
||||
|
||||
19
dump.sh
19
dump.sh
@@ -5,4 +5,21 @@ if [ -z "$1" ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mysqldump -u root -p --compact --hex-blob -t "$1"
|
||||
1>&2 printf "Enter password: "
|
||||
stty_orig=$(stty -g) # save original terminal setting
|
||||
stty -echo # turn-off echoing.
|
||||
read -r PASS # read the password
|
||||
stty "${stty_orig}" # restore terminal setting.
|
||||
1>&2 printf "\n"
|
||||
|
||||
set -e
|
||||
|
||||
dump=$(mysqldump -u root -p${PASS} --compact --hex-blob -t "$1")
|
||||
|
||||
echo "start transaction;"
|
||||
echo "set foreign_key_checks = 0;"
|
||||
echo "set autocommit = 0;"
|
||||
echo ${dump}
|
||||
echo "set autocommit = 1;"
|
||||
echo "set foreign_key_checks = 1;"
|
||||
echo "commit;"
|
||||
|
||||
@@ -7,6 +7,10 @@ import xyz.danielcortes.repository.CorreoRepository;
|
||||
import xyz.danielcortes.validator.CorreoValidator;
|
||||
import xyz.danielcortes.views.correo.CorreoCreatePanel;
|
||||
|
||||
/**
|
||||
* Controller de correo abstracto para poder extenderlo por los controllers de
|
||||
* distintos modelos que necesiten crear correos para si mismos
|
||||
*/
|
||||
public abstract class AbstractCorreoCreateController extends BaseController {
|
||||
|
||||
protected CorreoCreatePanel view;
|
||||
@@ -21,6 +25,9 @@ public abstract class AbstractCorreoCreateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getCorreoField().addActionListener(e -> this.save());
|
||||
this.view.getGuardarButton().addActionListener(e -> this.save());
|
||||
@@ -36,6 +43,12 @@ public abstract class AbstractCorreoCreateController extends BaseController {
|
||||
return this.parentController;
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
*
|
||||
* Pone el foco en el field de correo y limpia el texto que pudiera tener
|
||||
* previamente
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.view.getCorreoField().requestFocus();
|
||||
|
||||
@@ -11,6 +11,11 @@ import xyz.danielcortes.repository.CorreoRepository;
|
||||
import xyz.danielcortes.validator.CorreoValidator;
|
||||
import xyz.danielcortes.views.correo.CorreoSearchPanel;
|
||||
|
||||
/**
|
||||
*
|
||||
* Controller de correo abstracto para poder extenderlo por los controllers de
|
||||
* distintos modelos que necesiten crear correos para si mismos
|
||||
*/
|
||||
public abstract class AbstractCorreoSearchController extends BaseController {
|
||||
|
||||
protected CorreoSearchPanel view;
|
||||
@@ -25,6 +30,9 @@ public abstract class AbstractCorreoSearchController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getCrearButton().addActionListener(e -> this.create());
|
||||
this.view.getSearchField().addActionListener(e -> this.search());
|
||||
@@ -47,6 +55,9 @@ public abstract class AbstractCorreoSearchController extends BaseController {
|
||||
|
||||
protected abstract void volver();
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.reload();
|
||||
@@ -57,6 +68,9 @@ public abstract class AbstractCorreoSearchController extends BaseController {
|
||||
return this.view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Llena la tabla con datos y limpia la seleccion sobre esta
|
||||
*/
|
||||
public void reload() {
|
||||
this.loadCorreosTable();
|
||||
this.view.getCorreosTable().clearSelection();
|
||||
@@ -64,11 +78,21 @@ public abstract class AbstractCorreoSearchController extends BaseController {
|
||||
|
||||
protected abstract void loadCorreosTable();
|
||||
|
||||
/**
|
||||
* Carga la tabla de correos con los datos entregados en la lista
|
||||
* @param correos Correos con los que rellenar la tabla
|
||||
*/
|
||||
protected void loadCorreosTable(List<Correo> correos) {
|
||||
BaseTableModel<Correo> model = this.view.getCorreoModel();
|
||||
model.setRows(correos);
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene el correo seleccionado actualmente en la tabla
|
||||
*
|
||||
* @return El correo seleccionado, si no habia ninguno seleccionado,
|
||||
* retorna null y muestra un mensaje de error
|
||||
*/
|
||||
protected Correo getSelectedCorreo() {
|
||||
int selectedRow = this.view.getCorreosTable().getSelectedRow();
|
||||
if (selectedRow == -1) {
|
||||
|
||||
@@ -24,12 +24,20 @@ public abstract class AbstractCorreoUpdateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getCorreoField().addActionListener(e -> this.update());
|
||||
this.view.getActualizarButton().addActionListener(e -> this.update());
|
||||
this.view.getVolverButton().addActionListener(e -> this.volver());
|
||||
}
|
||||
|
||||
/**
|
||||
* Actualiza un correo con los datos ingresados en la vista
|
||||
*
|
||||
* Antes de actualizar valida los datos entregados
|
||||
*/
|
||||
private void update() {
|
||||
String sCorreo = this.view.getCorreoField().getText();
|
||||
|
||||
@@ -57,6 +65,11 @@ public abstract class AbstractCorreoUpdateController extends BaseController {
|
||||
return this.parentController;
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que es llamado al momento de mostrar la vista
|
||||
*
|
||||
* Pone el foco en el field de correo y llena los datos de este.
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.view.getCorreoField().requestFocus();
|
||||
@@ -68,6 +81,9 @@ public abstract class AbstractCorreoUpdateController extends BaseController {
|
||||
return this.view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Llena el campo de correo
|
||||
*/
|
||||
protected void fillCorreo() {
|
||||
this.view.getCorreoField().setText(this.correo.getCorreo());
|
||||
}
|
||||
|
||||
@@ -28,16 +28,25 @@ public abstract class AbstractCorreoViewController extends BaseController {
|
||||
return this.parentController;
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo llamado al momento de crear la vista
|
||||
*
|
||||
* Llena el campo de correo
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.fillCorreo();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public BasePanel getView() {
|
||||
return this.view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Llena el campo de correo
|
||||
*/
|
||||
protected void fillCorreo() {
|
||||
this.view.getCorreoField().setText(this.correo.getCorreo());
|
||||
}
|
||||
|
||||
@@ -21,6 +21,9 @@ public abstract class AbstractDireccionCreateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getGuardarButton().addActionListener(e -> this.save());
|
||||
this.view.getNumeroField().addActionListener(e -> this.save());
|
||||
@@ -36,6 +39,11 @@ public abstract class AbstractDireccionCreateController extends BaseController {
|
||||
return this.parentController;
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo llamado al momento de crear la vista
|
||||
*
|
||||
* Pone el foco en el field de calle y reseta el contenido de los campos de texto
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.view.getCalleField().requestFocus();
|
||||
|
||||
@@ -25,6 +25,9 @@ public abstract class AbstractDireccionSearchController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getCrearButton().addActionListener(e -> this.create());
|
||||
this.view.getSearchField().addActionListener(e -> this.search());
|
||||
@@ -57,6 +60,9 @@ public abstract class AbstractDireccionSearchController extends BaseController {
|
||||
return this.view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga los datos de la tabla y limpia la seleccion en esta
|
||||
*/
|
||||
public void reload() {
|
||||
this.loadDireccionesTable();
|
||||
this.view.getDireccionesTable().clearSelection();
|
||||
@@ -64,17 +70,28 @@ public abstract class AbstractDireccionSearchController extends BaseController {
|
||||
|
||||
protected abstract void loadDireccionesTable();
|
||||
|
||||
/**
|
||||
* Carga la tabla de direcciones con los elementos entregados en la lista
|
||||
*
|
||||
* @param direccions Direcciones con los llenar la tabla
|
||||
*/
|
||||
protected void loadDireccionesTable(List<Direccion> direccions) {
|
||||
BaseTableModel<Direccion> model = this.view.getDireccionModel();
|
||||
model.setRows(direccions);
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene la direccion seleccionada
|
||||
*
|
||||
* @return La direccion seleccionada, si no hay ninguna seleccionada, muestra
|
||||
* un mensaje de error y retorna null
|
||||
*/
|
||||
protected Direccion getSelectedDireccion() {
|
||||
int selectedRow = this.view.getDireccionesTable().getSelectedRow();
|
||||
if (selectedRow == -1) {
|
||||
JOptionPane.showMessageDialog(
|
||||
null,
|
||||
"No hay abstract_direccion seleccionada",
|
||||
"No hay direccion seleccionada",
|
||||
"Error",
|
||||
JOptionPane.ERROR_MESSAGE
|
||||
);
|
||||
|
||||
@@ -24,12 +24,18 @@ public abstract class AbstractDireccionUpdateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
protected void setupListeners() {
|
||||
this.view.getNumeroField().addActionListener(e -> this.update());
|
||||
this.view.getActualizarButton().addActionListener(e -> this.update());
|
||||
this.view.getVolverButton().addActionListener(e -> this.volver());
|
||||
}
|
||||
|
||||
/**
|
||||
* Actualiza
|
||||
*/
|
||||
protected void update() {
|
||||
String calle = this.view.getCalleField().getText();
|
||||
String numero = this.view.getNumeroField().getText();
|
||||
|
||||
@@ -40,6 +40,9 @@ public class ArrendarArrendarController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crear los listeners para la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getAgregarButton().addActionListener(e -> this.agregar());
|
||||
this.view.getRemoverButton().addActionListener(e -> this.remover());
|
||||
@@ -47,6 +50,11 @@ public class ArrendarArrendarController extends BaseController {
|
||||
this.view.getCancelarButton().addActionListener(e -> this.cancelar());
|
||||
}
|
||||
|
||||
/**
|
||||
* Agrega el ejemplar seleccionado en el JComboBox al JTable
|
||||
*
|
||||
* Si no hay ninguno, o no hay ninguno seleccionado mostrara un mensaje de error
|
||||
*/
|
||||
private void agregar() {
|
||||
if (this.view.getEjemplarComboModel().getSize() == 0) {
|
||||
JOptionPane.showMessageDialog(
|
||||
@@ -73,6 +81,11 @@ public class ArrendarArrendarController extends BaseController {
|
||||
this.view.getEjemplarTableModel().addRow(ejemplar);
|
||||
}
|
||||
|
||||
/**
|
||||
* Remueve el ejemplar seleccionado en la JTable y lo agrega al JCombobox
|
||||
*
|
||||
* Si no hay ninguno, o no hay ninguno seleccionado mostrara un mensaje de error
|
||||
*/
|
||||
private void remover() {
|
||||
if (this.view.getEjemplarTableModel().getRowCount() == 0) {
|
||||
JOptionPane.showMessageDialog(
|
||||
@@ -92,6 +105,10 @@ public class ArrendarArrendarController extends BaseController {
|
||||
this.view.getEjemplarTableModel().removeRow(ejemplar);
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea un nuevo arriendo, primero validando los datos entregados y luego creando
|
||||
* El arriendo tambien cambiando el estado del ejemplar a "Arrendado"
|
||||
*/
|
||||
private void arrendar() {
|
||||
Cliente cliente = (Cliente) this.view.getClienteCombo().getSelectedItem();
|
||||
ValidationResult clienteValidation = this.validator.validateCliente(cliente);
|
||||
@@ -152,10 +169,19 @@ public class ArrendarArrendarController extends BaseController {
|
||||
this.parentController.showCard(PanelName.ARRENDAR_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Vuelve a la la vista de ARRENDAR_SEARCH
|
||||
*/
|
||||
private void cancelar() {
|
||||
this.parentController.showCard(PanelName.ARRENDAR_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene el ejemplar seleccionado actualmente en la tabla
|
||||
*
|
||||
* Si no hay ninguno seleccionado retorna null y muestra un mensaje de error
|
||||
* @return Ejemplar seleccionado, si no hay, retorna null
|
||||
*/
|
||||
private Ejemplar getSelectedEjemplar() {
|
||||
int selectedRow = this.view.getEjemplaresTable().getSelectedRow();
|
||||
if (selectedRow == -1) {
|
||||
@@ -171,6 +197,11 @@ public class ArrendarArrendarController extends BaseController {
|
||||
return this.view.getEjemplarTableModel().getRow(selectedRow);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo a ejecutar cuando se va a mostrar la vista
|
||||
* Rellena la lista de ejemplares, la lista de clientes, limpia la tabla y
|
||||
* coloca ceros en los campos de texto
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
Estado disponible = this.estadoRepository.getByNombre("Disponible");
|
||||
|
||||
@@ -33,6 +33,9 @@ public class ArrendarSearchController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners para la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getArrendarButton().addActionListener(e -> this.getParentController().showCard(PanelName.ARRENDAR_ARRENDAR));
|
||||
this.view.getBuscarField().addActionListener(e -> this.search());
|
||||
@@ -41,12 +44,22 @@ public class ArrendarSearchController extends BaseController {
|
||||
this.view.getRecibirButton().addActionListener(e -> this.recibir());
|
||||
}
|
||||
|
||||
/**
|
||||
* Realiza una busqueda en los elementos del repositorios con el
|
||||
* termino ingresado en el campo de busqueda como filtro
|
||||
*/
|
||||
private void search() {
|
||||
String term = this.view.getBuscarField().getText();
|
||||
List<Arriendo> arriendos = this.arrendarRepository.search(term);
|
||||
this.loadArriendosTable(arriendos);
|
||||
}
|
||||
|
||||
/**
|
||||
* Llama a mostrar la vista de ARRENDAR_VIEW para
|
||||
* mostrar el arriendo seleccionado en la tabla
|
||||
*
|
||||
* Si getSelectedArriendo retorna null no se hace nada
|
||||
*/
|
||||
private void view() {
|
||||
Arriendo arriendo = this.getSelectedArriendo();
|
||||
if (arriendo == null)
|
||||
@@ -57,6 +70,17 @@ public class ArrendarSearchController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.ARRENDAR_VIEW);
|
||||
}
|
||||
|
||||
/**
|
||||
* Recibe el arriendo seleccionado
|
||||
*
|
||||
* Calcula cual es la multa a pagar y muestra un dialog con los datos
|
||||
*
|
||||
* Si se acepta el dialogo se cambiara el estado de los ejemplares arrendados
|
||||
* a disponible y al arriendo se le colocara la fecha de devolucion real a
|
||||
* <code>LocalDate.now()</code>
|
||||
*
|
||||
* Si se cancela el dialogo no se hace nada
|
||||
*/
|
||||
private void recibir() {
|
||||
Arriendo arriendo = this.getSelectedArriendo();
|
||||
if (arriendo == null)
|
||||
@@ -92,11 +116,21 @@ public class ArrendarSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de arriendos con la lista entregada
|
||||
* @param arriendos Arriendos con los que llenar la tabla
|
||||
*/
|
||||
private void loadArriendosTable(List<Arriendo> arriendos) {
|
||||
BaseTableModel<Arriendo> model = this.view.getArriendosTableModel();
|
||||
model.setRows(arriendos);
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene el arriendo seleccionado actualmente en la tabla
|
||||
*
|
||||
* @return El arriendo seleccionado, si no hay ninguno seleccionado muestra
|
||||
* un mensaje de error y retorna null
|
||||
*/
|
||||
private Arriendo getSelectedArriendo() {
|
||||
int selectedRow = this.view.getArriendosTable().getSelectedRow();
|
||||
if (selectedRow == -1) {
|
||||
@@ -112,18 +146,24 @@ public class ArrendarSearchController extends BaseController {
|
||||
return this.view.getArriendosTableModel().getRow(selectedRow);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo a ejecutar cuando la vista se muestra
|
||||
*
|
||||
* Carga la tabla, limpia el texto en buscar field y le da foco ademas de
|
||||
* limpiar lo seleccionado de la tabla
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.reload();
|
||||
}
|
||||
|
||||
public void reload() {
|
||||
this.loadArriendosTable();
|
||||
this.view.getBuscarButton().requestFocus();
|
||||
this.view.getBuscarField().requestFocus();
|
||||
this.view.getBuscarField().setText("");
|
||||
this.view.getArriendosTable().clearSelection();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Carga la tabla de arriendos con todos los elementos del repositorio
|
||||
*/
|
||||
private void loadArriendosTable() {
|
||||
List<Arriendo> arriendos = this.arrendarRepository.getAll();
|
||||
this.loadArriendosTable(arriendos);
|
||||
|
||||
@@ -14,13 +14,15 @@ public class ArrendarViewController extends BaseController {
|
||||
public ArrendarViewPanel view;
|
||||
public Arriendo arriendo;
|
||||
|
||||
|
||||
public ArrendarViewController(ArrendarViewPanel view, LaunchController parentController) {
|
||||
super(parentController);
|
||||
this.view = view;
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners para la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getVolverButton().addActionListener(e -> this.parentController.showCard(PanelName.ARRENDAR_SEARCH));
|
||||
}
|
||||
@@ -29,6 +31,11 @@ public class ArrendarViewController extends BaseController {
|
||||
this.arriendo = arriendo;
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
*
|
||||
* Rellena todos los campos de la vista con los datos del arriendo
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
if (this.arriendo != null) {
|
||||
|
||||
@@ -24,12 +24,20 @@ public class AutorCreateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getApellidoMaternoField().addActionListener(e -> this.save());
|
||||
this.view.getGuardarButton().addActionListener(e -> this.save());
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.AUTOR_SEARCH));
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea un nuevo autor con los datos ingresados en la vista
|
||||
*
|
||||
* Luego de guardarlo reseta los campos de la vista
|
||||
*/
|
||||
private void save() {
|
||||
String nombre = this.view.getNombreField().getText();
|
||||
ValidationResult nombreValidation = this.validator.validateNombre(nombre);
|
||||
@@ -64,6 +72,11 @@ public class AutorCreateController extends BaseController {
|
||||
this.view.getNombreField().requestFocus();
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
*
|
||||
* Vacia el contenido de los inputfield
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.view.getNombreField().setText("");
|
||||
|
||||
@@ -27,6 +27,9 @@ public class AutorSearchController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getCrearButton().addActionListener(e -> this.getParentController().showCard(PanelName.AUTOR_CREATE));
|
||||
this.view.getSearchField().addActionListener(e -> this.search());
|
||||
@@ -36,12 +39,22 @@ public class AutorSearchController extends BaseController {
|
||||
this.view.getEliminarButton().addActionListener(e -> this.delete());
|
||||
}
|
||||
|
||||
/**
|
||||
* Realiza una busqueda en los elementos del repositorios con el
|
||||
* termino ingresado en el campo de busqueda como filtro
|
||||
*/
|
||||
private void search() {
|
||||
String term = this.view.getSearchField().getText();
|
||||
List<Autor> autores = this.autorRepository.search(term);
|
||||
this.loadAutorTable(autores);
|
||||
}
|
||||
|
||||
/**
|
||||
* Llama a mostrar la vista de AUTOR_VIEW para
|
||||
* mostrar el autor seleccionado en la tabla
|
||||
*
|
||||
* Si getSelectedAutor retorna null no se hace nada
|
||||
*/
|
||||
private void view() {
|
||||
Autor autor = this.getSelectedAutor();
|
||||
if (autor != null) {
|
||||
@@ -51,6 +64,12 @@ public class AutorSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Llama a mostrar la vista de AUTOR_UPDATE para editar el autor seleccionado
|
||||
* en la tabla
|
||||
*
|
||||
* Si getSelectedAutor retorna null no hace nada
|
||||
*/
|
||||
private void edit() {
|
||||
Autor autor = this.getSelectedAutor();
|
||||
if (autor != null) {
|
||||
@@ -60,6 +79,12 @@ public class AutorSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Elimina un autor despues de validar que es posible eliminarlo y si el
|
||||
* usuario acepta el dialog
|
||||
*
|
||||
* Recarga la tabla una vez eliminado
|
||||
*/
|
||||
private void delete() {
|
||||
Autor autor = this.getSelectedAutor();
|
||||
if (autor == null)
|
||||
@@ -82,14 +107,25 @@ public class AutorSearchController extends BaseController {
|
||||
return;
|
||||
|
||||
this.autorRepository.delete(autor);
|
||||
this.reload();
|
||||
this.view.getAutorModel().fireTableDataChanged();
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de autores con la lista entregada
|
||||
* @param autores Autores con los que llenar la tabla
|
||||
*/
|
||||
private void loadAutorTable(List<Autor> autores) {
|
||||
BaseTableModel<Autor> model = this.view.getAutorModel();
|
||||
model.setRows(autores);
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene el autor seleccionado actualmente en la tabla
|
||||
*
|
||||
* @return El autor seleccionado, si no hay ninguno seleccionado muestra un
|
||||
* mensaje de error y retorna null
|
||||
*/
|
||||
private Autor getSelectedAutor() {
|
||||
int selectedRow = this.view.getAutorTable().getSelectedRow();
|
||||
if (selectedRow == -1) {
|
||||
@@ -105,20 +141,24 @@ public class AutorSearchController extends BaseController {
|
||||
return this.view.getAutorModel().getRow(selectedRow);
|
||||
}
|
||||
|
||||
public void reload() {
|
||||
this.loadAutorTable();
|
||||
this.view.getSearchField().requestFocus();
|
||||
this.view.getAutorTable().clearSelection();
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de autores con todos los elementos del repositorio
|
||||
*/
|
||||
private void loadAutorTable() {
|
||||
List<Autor> autores = this.autorRepository.getAll();
|
||||
this.loadAutorTable(autores);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo a ejecutar cuando la vista se muestra
|
||||
*
|
||||
* Carga la tabla y pone el foco en el campo de busqueda
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.reload();
|
||||
this.loadAutorTable();
|
||||
this.view.getSearchField().requestFocus();
|
||||
this.view.getAutorTable().clearSelection();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -25,12 +25,22 @@ public class AutorUpdateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getApellidoPaternoField().addActionListener(e -> this.update());
|
||||
this.view.getActualizarButton().addActionListener(e -> this.update());
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.AUTOR_SEARCH));
|
||||
}
|
||||
|
||||
/**
|
||||
* Actualiza el contenido de un autor con los datos otorgados en la vista
|
||||
*
|
||||
* Primero valida si los datos son correctos para luego actualizar y volver a
|
||||
* la vista de AUTOR_SEARCH
|
||||
*/
|
||||
private void update() {
|
||||
ValidationResult autorValidation = this.validator.validateOriginal(this.autor);
|
||||
if (autorValidation.hasError()) {
|
||||
@@ -73,19 +83,21 @@ public class AutorUpdateController extends BaseController {
|
||||
this.autor = autor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se llama al mostrar la visat
|
||||
*
|
||||
* Rellena los datos del autor y pone el foco en el field de nombre
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.fillAutor();
|
||||
this.view.getNombreField().requestFocus();
|
||||
}
|
||||
|
||||
private void fillAutor() {
|
||||
if (this.autor == null)
|
||||
return;
|
||||
|
||||
this.view.getNombreField().setText(this.autor.getNombre());
|
||||
this.view.getApellidoPaternoField().setText(this.autor.getApellidoPaterno());
|
||||
this.view.getApellidoMaternoField().setText(this.autor.getApellidoMaterno());
|
||||
|
||||
this.view.getNombreField().requestFocus();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -18,18 +18,22 @@ public class AutorViewController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners para la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getVolverButton().addActionListener(e -> {
|
||||
this.getParentController().showCard(PanelName.AUTOR_SEARCH);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
*
|
||||
* Rellena los datos del autor en la vista
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.fillAutor();
|
||||
}
|
||||
|
||||
private void fillAutor() {
|
||||
if (this.autor == null)
|
||||
return;
|
||||
|
||||
|
||||
@@ -25,12 +25,19 @@ public class CategoriaCreateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getNombreField().addActionListener(e -> this.save());
|
||||
this.view.getGuardarButton().addActionListener(e -> this.save());
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.CATEGORIA_SEARCH));
|
||||
}
|
||||
|
||||
/**
|
||||
* Guarda una nueva categoria con los datos entregados en la vista
|
||||
* Despues de guardar limpia los fields y coloca el foco en el field de nombre
|
||||
*/
|
||||
private void save() {
|
||||
String nombre = this.view.getNombreField().getText();
|
||||
ValidationResult nombreValidation = this.validator.validateNombre(nombre);
|
||||
@@ -48,6 +55,10 @@ public class CategoriaCreateController extends BaseController {
|
||||
this.view.getNombreField().requestFocus();
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo a ejecutar cuando la vista es mostrada
|
||||
* Coloca el foco en el campo de nombre
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.view.getNombreField().requestFocus();
|
||||
|
||||
@@ -29,11 +29,17 @@ public class CategoriaSearchController extends BaseController {
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de categorias con todas las categorias en el repositorio
|
||||
*/
|
||||
private void loadCategoriaTable() {
|
||||
List<Categoria> categorias = this.categoriaRepository.getAll();
|
||||
this.loadCategoriaTable(categorias);
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getCrearButton().addActionListener(e -> this.getParentController().showCard(PanelName.CATEGORIA_CREATE));
|
||||
this.view.getSearchField().addActionListener(e -> this.search());
|
||||
@@ -43,17 +49,30 @@ public class CategoriaSearchController extends BaseController {
|
||||
this.view.getEliminarButton().addActionListener(e -> this.delete());
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de categorias con las categorias de la lista entregada
|
||||
*
|
||||
* @param categorias Categorias con las que se cargara la tabla
|
||||
*/
|
||||
private void loadCategoriaTable(List<Categoria> categorias) {
|
||||
BaseTableModel<Categoria> model = this.view.getCategoriaModel();
|
||||
model.setRows(categorias);
|
||||
}
|
||||
|
||||
/**
|
||||
* Realiza una busqueda en los elementos del repositorios con el
|
||||
* termino ingresado en el campo de busqueda como filtro
|
||||
*/
|
||||
private void search() {
|
||||
String term = this.view.getSearchField().getText();
|
||||
List<Categoria> categorias = this.categoriaRepository.search(term);
|
||||
this.loadCategoriaTable(categorias);
|
||||
}
|
||||
|
||||
/**
|
||||
* Llama a la vista de CATEGORIA_VIEW para mostrar la categoria seleccionada
|
||||
* en la tabla, si no hay ninguna seleccionada no hace nada
|
||||
*/
|
||||
private void view() {
|
||||
Categoria categoria = this.getSelectedCategoria();
|
||||
if (categoria != null) {
|
||||
@@ -63,6 +82,11 @@ public class CategoriaSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Llama a la vista de CATEORIA_UPDATE para editar el autor seleccionado en
|
||||
* la tabla
|
||||
* Si no hay un autor seleccionado no hace nada
|
||||
*/
|
||||
private void edit() {
|
||||
Categoria categoria = this.getSelectedCategoria();
|
||||
if (categoria != null) {
|
||||
@@ -72,6 +96,10 @@ public class CategoriaSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Elimina la categoria seleccionada despues de validar que es posible eliminarlo
|
||||
* y si el usuario acepta el dialog, recarga la tabla una vez eliminado
|
||||
*/
|
||||
private void delete() {
|
||||
Categoria categoria = this.getSelectedCategoria();
|
||||
if (categoria == null)
|
||||
@@ -94,9 +122,14 @@ public class CategoriaSearchController extends BaseController {
|
||||
return;
|
||||
|
||||
this.categoriaRepository.delete(categoria);
|
||||
this.reload();
|
||||
this.view.getCategoriaModel().fireTableDataChanged();
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene la categoria actualmente seleccionada en la tabla
|
||||
*
|
||||
* Si no hay ninguna seleccionada muestra un mensaje de error y retorna null
|
||||
*/
|
||||
private Categoria getSelectedCategoria() {
|
||||
int selectedRow = this.view.getCategoriaTable().getSelectedRow();
|
||||
if (selectedRow == -1) {
|
||||
@@ -112,17 +145,18 @@ public class CategoriaSearchController extends BaseController {
|
||||
return this.view.getCategoriaModel().getRow(selectedRow);
|
||||
}
|
||||
|
||||
public void reload() {
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
*
|
||||
* Carga la tabla y pone el foco en el campo de busqueda
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.loadCategoriaTable();
|
||||
this.view.getCategoriaTable().clearSelection();
|
||||
this.view.getSearchField().requestFocus();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void show() {
|
||||
this.reload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasePanel getView() {
|
||||
return this.view;
|
||||
|
||||
@@ -17,6 +17,7 @@ public class CategoriaUpdateController extends BaseController {
|
||||
private CategoriaRepository categoriaRepository;
|
||||
private CategoriaValidator validator;
|
||||
|
||||
|
||||
public CategoriaUpdateController(CategoriaUpdatePanel view, LaunchController parent) {
|
||||
super(parent);
|
||||
this.view = view;
|
||||
@@ -25,12 +26,21 @@ public class CategoriaUpdateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners para la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getNombreField().addActionListener(e -> this.update());
|
||||
this.view.getUpdateButton().addActionListener(e -> this.update());
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.CATEGORIA_SEARCH));
|
||||
}
|
||||
|
||||
/**
|
||||
* Actualiza una categoria con los datos ingresados en la vista
|
||||
*
|
||||
* Primero valida los datos y luego actualiza la categoria, tras esto se pasa
|
||||
* a la vista de CATEGORIA_SEARCH
|
||||
*/
|
||||
private void update() {
|
||||
ValidationResult originalValidation = this.validator.validateOriginal(this.categoria);
|
||||
if (originalValidation.hasError()) {
|
||||
@@ -52,16 +62,19 @@ public class CategoriaUpdateController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.CATEGORIA_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al momento de mostrar la vista
|
||||
*
|
||||
* Primero llena los datos de la categoria y luego coloca el foco en el field de nombre
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.fillCategoria();
|
||||
this.view.getNombreField().requestFocus();
|
||||
if(this.categoria != null) {
|
||||
this.view.getNombreField().setText(this.categoria.getNombre());
|
||||
this.view.getNombreField().requestFocus();
|
||||
}
|
||||
}
|
||||
|
||||
private void fillCategoria() {
|
||||
if (this.categoria != null)
|
||||
this.view.getNombreField().setText(this.categoria.getNombre());
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasePanel getView() {
|
||||
|
||||
@@ -18,6 +18,9 @@ public class CategoriaViewController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.CATEGORIA_SEARCH));
|
||||
}
|
||||
@@ -26,12 +29,13 @@ public class CategoriaViewController extends BaseController {
|
||||
this.categoria = categoria;
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al momento de mostrar la vista
|
||||
*
|
||||
* Rellena los datos de la categoria
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.fillCategoria();
|
||||
}
|
||||
|
||||
private void fillCategoria() {
|
||||
if (this.categoria != null)
|
||||
this.view.getNombreField().setText(this.categoria.getNombre());
|
||||
}
|
||||
|
||||
@@ -25,11 +25,19 @@ public class ClienteCreateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getGuardarButton().addActionListener(e -> this.save());
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.CLIENTE_SEARCH));
|
||||
}
|
||||
|
||||
/**
|
||||
* Guarda un nuevo cliente con los datos entregados en la vista
|
||||
*
|
||||
* Primero valida los datos de la vista antes de guardarse
|
||||
*/
|
||||
private void save() {
|
||||
String rut = this.view.getRutField().getText();
|
||||
ValidationResult rutValidation = this.validator.validateRut(rut);
|
||||
@@ -78,6 +86,11 @@ public class ClienteCreateController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.CLIENTE_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo a ejecutar cuando la vista se muestra
|
||||
*
|
||||
* Coloca el foco en el campo de rut
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.view.getRutField().requestFocus();
|
||||
|
||||
@@ -36,6 +36,9 @@ public class ClienteSearchController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getCrearButton().addActionListener(e -> this.getParentController().showCard(PanelName.CLIENTE_CREATE));
|
||||
this.view.getSearchField().addActionListener(e -> this.search());
|
||||
@@ -45,12 +48,20 @@ public class ClienteSearchController extends BaseController {
|
||||
this.view.getEliminarButton().addActionListener(e -> this.delete());
|
||||
}
|
||||
|
||||
/**
|
||||
* Realiza una busqueda en los elementos del repositorios con el
|
||||
* termino ingresado en el campo de busqueda como filtro
|
||||
*/
|
||||
private void search() {
|
||||
String term = this.view.getSearchField().getText();
|
||||
List<Cliente> clientees = this.clienteRespository.search(term);
|
||||
this.loadClienteTable(clientees);
|
||||
}
|
||||
|
||||
/**
|
||||
* Llama a la vista de CLIENTE_VIEW, para ver los datos del cliente
|
||||
* si no hay cliente seleccionado no hace nada
|
||||
*/
|
||||
private void view() {
|
||||
Cliente cliente = this.getSelectedCliente();
|
||||
if (cliente != null) {
|
||||
@@ -60,6 +71,10 @@ public class ClienteSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Llama a la vista CLIENTE_UPDATE, para editar los datos del cliente
|
||||
* si no hay cliente seleccionado no hace nada
|
||||
*/
|
||||
private void edit() {
|
||||
Cliente cliente = this.getSelectedCliente();
|
||||
if (cliente != null) {
|
||||
@@ -69,6 +84,14 @@ public class ClienteSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Elimina al cliente seleccionado, preguntando por confirmacion al usuario
|
||||
*
|
||||
* Junto con eliminarlo a el, elimina todos los correos, direcciones y
|
||||
* telefonos que tenga asociados
|
||||
*
|
||||
* Si no hay ninguno seleccionado no hace nada
|
||||
*/
|
||||
private void delete() {
|
||||
Cliente cliente = this.getSelectedCliente();
|
||||
if (cliente == null)
|
||||
@@ -89,14 +112,24 @@ public class ClienteSearchController extends BaseController {
|
||||
this.direccionRepository.delete(cliente.getDirecciones());
|
||||
this.telefonoRepository.delete(cliente.getTelefonos());
|
||||
this.clienteRespository.delete(cliente);
|
||||
this.reload();
|
||||
this.view.getClienteModel().fireTableDataChanged();
|
||||
}
|
||||
|
||||
private void loadClienteTable(List<Cliente> clientees) {
|
||||
/**
|
||||
* Carga la tabla de clientes con los entregados
|
||||
*
|
||||
* @param clientes Lista de clientes con los que cargar la tabla
|
||||
*/
|
||||
private void loadClienteTable(List<Cliente> clientes) {
|
||||
BaseTableModel<Cliente> model = this.view.getClienteModel();
|
||||
model.setRows(clientees);
|
||||
model.setRows(clientes);
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene el cliente seleccionado
|
||||
*
|
||||
* @return Al cliente seleccionado, si no hay ninguno seleccionado retorna null
|
||||
*/
|
||||
private Cliente getSelectedCliente() {
|
||||
int selectedRow = this.view.getClienteTable().getSelectedRow();
|
||||
if (selectedRow == -1) {
|
||||
@@ -111,20 +144,27 @@ public class ClienteSearchController extends BaseController {
|
||||
return this.view.getClienteModel().getRow(selectedRow);
|
||||
}
|
||||
|
||||
private void reload() {
|
||||
this.loadClienteTable();
|
||||
this.view.getClienteTable().clearSelection();
|
||||
this.view.getSearchField().requestFocus();
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de clientes con todos los existentes en el repositorio
|
||||
*/
|
||||
private void loadClienteTable() {
|
||||
List<Cliente> clientees = this.clienteRespository.getAll();
|
||||
this.loadClienteTable(clientees);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo a ejecutar cuando se muestra la vista
|
||||
*
|
||||
* Carga los datos de la tabla y pone el foco en el campo de search ademas de
|
||||
* limpiar el contenido que tenia previamente
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.reload();
|
||||
this.loadClienteTable();
|
||||
this.view.getClienteTable().clearSelection();
|
||||
this.view.getSearchField().requestFocus();
|
||||
this.view.getSearchField().setText("");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -26,11 +26,21 @@ public class ClienteUpdateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getActualizarButton().addActionListener(e -> this.update());
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.CLIENTE_SEARCH));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Actualiza el cliente entregado con los datos ingresados en la vista
|
||||
*
|
||||
* Primero comprueba que todos sean correctos, luego los actualiza y vuelve
|
||||
* a la vista de CLIENTE_SEARCH
|
||||
*/
|
||||
private void update() {
|
||||
String rut = this.view.getRutField().getText();
|
||||
ValidationResult rutValidation = this.clienteValidator.validateRut(rut);
|
||||
@@ -78,18 +88,19 @@ public class ClienteUpdateController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.CLIENTE_SEARCH);
|
||||
}
|
||||
|
||||
|
||||
public void setCliente(Cliente cliente) {
|
||||
this.cliente = cliente;
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo a ejecutar cuando la vista se muestra
|
||||
*
|
||||
* Carga los datos del cliente y pone el foco en el campo de rut
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.fillCliente();
|
||||
this.view.getRutField().requestFocus();
|
||||
}
|
||||
|
||||
private void fillCliente() {
|
||||
if (this.clienteRespository == null)
|
||||
if (this.cliente == null)
|
||||
return;
|
||||
|
||||
this.view.getRutField().setText(this.cliente.getRut());
|
||||
@@ -97,8 +108,10 @@ public class ClienteUpdateController extends BaseController {
|
||||
this.view.getApellidoPaternoField().setText(this.cliente.getApellidoPaterno());
|
||||
this.view.getApellidoMaternoField().setText(this.cliente.getApellidoMaterno());
|
||||
this.view.getFechaNacimientoField().setDate(this.cliente.getFechaNacimiento());
|
||||
this.view.getRutField().requestFocus();
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public BasePanel getView() {
|
||||
return this.view;
|
||||
|
||||
@@ -22,6 +22,9 @@ public class ClienteViewController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.CLIENTE_SEARCH));
|
||||
this.view.getCorreosButton().addActionListener(e -> this.gotoCorreosView());
|
||||
@@ -29,12 +32,18 @@ public class ClienteViewController extends BaseController {
|
||||
this.view.getDireccionesButton().addActionListener(e -> this.gotoDireccionView());
|
||||
}
|
||||
|
||||
/**
|
||||
* Muestra la vista de CLIENTE_CORREO_SEARCH
|
||||
*/
|
||||
private void gotoCorreosView() {
|
||||
ClienteCorreoSearchController controller = (ClienteCorreoSearchController) this.getParentController().getCard(PanelName.CLIENTE_CORREO_SEARCH);
|
||||
controller.setCliente(this.cliente);
|
||||
this.getParentController().showCard(PanelName.CLIENTE_CORREO_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Muestra la vista de CLIENTE_TELEFONO_SEARCH
|
||||
*/
|
||||
private void gotoTelefonoView() {
|
||||
ClienteTelefonoSearchController controller = (ClienteTelefonoSearchController) this.getParentController()
|
||||
.getCard(PanelName.CLIENTE_TELEFONO_SEARCH);
|
||||
@@ -42,6 +51,9 @@ public class ClienteViewController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.CLIENTE_TELEFONO_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Muestra la vista de CLIENTE_DIRECCION_SEARCH
|
||||
*/
|
||||
private void gotoDireccionView() {
|
||||
ClienteDireccionSearchController controller = (ClienteDireccionSearchController) this.getParentController()
|
||||
.getCard(PanelName.CLIENTE_DIRECCION_SEARCH);
|
||||
@@ -49,12 +61,13 @@ public class ClienteViewController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.CLIENTE_DIRECCION_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo a ejecutar cuando la vista se muestra
|
||||
*
|
||||
* Carga los datos del cliente
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.fillCliente();
|
||||
}
|
||||
|
||||
private void fillCliente() {
|
||||
if (this.cliente == null)
|
||||
return;
|
||||
|
||||
|
||||
@@ -28,11 +28,20 @@ public class DistribuidorCreateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getGuardarButton().addActionListener(e -> this.save());
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.DISTRIBUIDOR_SEARCH));
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea un distribuidor con los datos entregados en la vista
|
||||
*
|
||||
* Valida los datos antes de crearlo y tras esto vuelve a la vista
|
||||
* de DISTRIBUIDOR_SEARCH
|
||||
*/
|
||||
private void save() {
|
||||
String rut = this.view.getRutField().getText();
|
||||
ValidationResult rutValidation = this.validator.validateRut(rut);
|
||||
@@ -57,16 +66,18 @@ public class DistribuidorCreateController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.DISTRIBUIDOR_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo a ejecutar cuando la vista se muestra
|
||||
*
|
||||
* Carga el combo de empesa, selecciona el primero por default y pone el foco
|
||||
* en el field de rut
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.fillEmpresasCombobox();
|
||||
this.view.getEmpresaCombobox().setSelectedIndex(0);
|
||||
this.view.getRutField().requestFocus();
|
||||
}
|
||||
|
||||
private void fillEmpresasCombobox() {
|
||||
this.view.getEmpresaModel().removeAllElements();
|
||||
this.view.getEmpresaModel().addAll(this.empresaRepository.getAll());
|
||||
this.view.getEmpresaCombobox().setSelectedIndex(0);
|
||||
this.view.getRutField().requestFocus();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -37,6 +37,9 @@ public class DistribuidorSearchController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getCrearButton().addActionListener(e -> this.getParentController().showCard(PanelName.DISTRIBUIDOR_CREATE));
|
||||
this.view.getSearchField().addActionListener(e -> this.search());
|
||||
@@ -46,12 +49,20 @@ public class DistribuidorSearchController extends BaseController {
|
||||
this.view.getEliminarButton().addActionListener(e -> this.delete());
|
||||
}
|
||||
|
||||
/**
|
||||
* Realiza una busqueda en los elementos del repositorios con el termino ingresado en el campo de busqueda como filtro
|
||||
*/
|
||||
private void search() {
|
||||
String term = this.view.getSearchField().getText();
|
||||
List<Distribuidor> distribuidores = this.distribuidorRepository.search(term);
|
||||
this.loadDistribuidorTable(distribuidores);
|
||||
}
|
||||
|
||||
/**
|
||||
* Muestra la vista de DISTRIBUIDOR_VIEW para ver los datos del distribuidor seleccionado
|
||||
* <p>
|
||||
* Si no hay distribuidor seleccionado no hace nada
|
||||
*/
|
||||
private void view() {
|
||||
Distribuidor distribuidor = this.getSelectedDistribuidor();
|
||||
if (distribuidor != null) {
|
||||
@@ -61,6 +72,11 @@ public class DistribuidorSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Muestra la vista de DISTRIBUIDOR_UPDATE para editar los datos del distribuidor seleccionado
|
||||
* <p>
|
||||
* Si no hay ninguno seleccionado no hace nada
|
||||
*/
|
||||
private void edit() {
|
||||
Distribuidor distribuidor = this.getSelectedDistribuidor();
|
||||
if (distribuidor != null) {
|
||||
@@ -70,6 +86,11 @@ public class DistribuidorSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Elimina el distribuidor seleccionado, antes de hacerlo pregunta al usuario por confirmacion
|
||||
* <p>
|
||||
* Junto con eliminar al distribuidor se eleminaran sus correos, direcciones y telefonos
|
||||
*/
|
||||
private void delete() {
|
||||
Distribuidor distribuidor = this.getSelectedDistribuidor();
|
||||
if (distribuidor == null)
|
||||
@@ -90,14 +111,24 @@ public class DistribuidorSearchController extends BaseController {
|
||||
this.direccionRepository.delete(distribuidor.getDirecciones());
|
||||
this.telefonoRepository.delete(distribuidor.getTelefonos());
|
||||
this.distribuidorRepository.delete(distribuidor);
|
||||
this.reload();
|
||||
this.view.getDistribuidorModel().fireTableDataChanged();
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de distribuidores con los entregados en la lista
|
||||
*
|
||||
* @param distribuidores Lista de distribuidores que se cargaran en la tabla
|
||||
*/
|
||||
private void loadDistribuidorTable(List<Distribuidor> distribuidores) {
|
||||
BaseTableModel<Distribuidor> model = this.view.getDistribuidorModel();
|
||||
model.setRows(distribuidores);
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene el distribuidor seleccionado en la tabla
|
||||
*
|
||||
* @return El distribuidor seleccionado, en caso de que no alla ninguno seleccionado, mostrara un mensaje de error y retornara null
|
||||
*/
|
||||
private Distribuidor getSelectedDistribuidor() {
|
||||
int selectedRow = this.view.getDistribuidorTable().getSelectedRow();
|
||||
if (selectedRow == -1) {
|
||||
@@ -112,22 +143,27 @@ public class DistribuidorSearchController extends BaseController {
|
||||
return this.view.getDistribuidorModel().getRow(selectedRow);
|
||||
}
|
||||
|
||||
private void reload() {
|
||||
/**
|
||||
* Metodo que se ejecuta al momento de mostrar la vista
|
||||
* <p>
|
||||
* Carga la tabla con datos y limpia el contenido de la busqueda y coloca el foco en este campo
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.loadDistribuidorTable();
|
||||
this.view.getDistribuidorTable().clearSelection();
|
||||
this.view.getSearchField().requestFocus();
|
||||
this.view.getSearchField().setText("");
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de distribuidores con todos los existentes en el repositorio
|
||||
*/
|
||||
private void loadDistribuidorTable() {
|
||||
List<Distribuidor> distribuidores = this.distribuidorRepository.getAll();
|
||||
this.loadDistribuidorTable(distribuidores);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void show() {
|
||||
this.reload();
|
||||
}
|
||||
|
||||
@Override
|
||||
public BasePanel getView() {
|
||||
return this.view;
|
||||
|
||||
@@ -29,11 +29,20 @@ public class DistribuidorUpdateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners para la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getActualizarButton().addActionListener(e -> this.update());
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.DISTRIBUIDOR_SEARCH));
|
||||
}
|
||||
|
||||
/**
|
||||
* Actualiza el distribuidor entregado con los datos ingresados en la vista
|
||||
*
|
||||
* Valida los datos antes de actualizar y luego vuelve a la vista de
|
||||
* DISTRIBUIDOR_SEARCH
|
||||
*/
|
||||
private void update() {
|
||||
ValidationResult originalValidation = this.distribuidorValidator.validateOriginal(this.distribuidor);
|
||||
if (originalValidation.hasError()) {
|
||||
@@ -67,6 +76,12 @@ public class DistribuidorUpdateController extends BaseController {
|
||||
this.distribuidor = distribuidor;
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al momento de mostrar la vista
|
||||
*
|
||||
* Llena el combobox, carga los datos del distribuidor y pone el
|
||||
* foco en el campo de rut
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.fillEmpresaCombobox();
|
||||
|
||||
@@ -21,6 +21,9 @@ public class DistribuidorViewController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.DISTRIBUIDOR_SEARCH));
|
||||
this.view.getCorreosButton().addActionListener(e -> this.gotoCorreosView());
|
||||
@@ -28,6 +31,9 @@ public class DistribuidorViewController extends BaseController {
|
||||
this.view.getDireccionesButton().addActionListener(e -> this.gotoDireccionView());
|
||||
}
|
||||
|
||||
/**
|
||||
* Va hacia la vista de DISTRIBUIDOR_CORREO_SEARCH
|
||||
*/
|
||||
private void gotoCorreosView() {
|
||||
DistribuidorCorreoSearchController controller = (DistribuidorCorreoSearchController) this.getParentController()
|
||||
.getCard(PanelName.DISTRIBUIDOR_CORREO_SEARCH);
|
||||
@@ -35,6 +41,10 @@ public class DistribuidorViewController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.DISTRIBUIDOR_CORREO_SEARCH);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Va hacia la vista de DISTRIBUIDOR_TELEFONO_SEARCH
|
||||
*/
|
||||
private void gotoTelefonoView() {
|
||||
DistribuidorTelefonoSearchController controller = (DistribuidorTelefonoSearchController) this.getParentController()
|
||||
.getCard(PanelName.DISTRIBUIDOR_TELEFONO_SEARCH);
|
||||
@@ -42,6 +52,9 @@ public class DistribuidorViewController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.DISTRIBUIDOR_TELEFONO_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Va hacia la vista de DISTRIBUIDOR_DIRECCION_SEARCH
|
||||
*/
|
||||
private void gotoDireccionView() {
|
||||
DistribuidorDireccionSearchController controller = (DistribuidorDireccionSearchController) this.getParentController()
|
||||
.getCard(PanelName.DISTRIBUIDOR_DIRECCION_SEARCH);
|
||||
@@ -49,12 +62,13 @@ public class DistribuidorViewController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.DISTRIBUIDOR_DIRECCION_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al momento de mostrar la vista
|
||||
*
|
||||
* Carga los datos del distribuidor
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.fillDistribuidor();
|
||||
}
|
||||
|
||||
private void fillDistribuidor() {
|
||||
if (this.distribuidor == null)
|
||||
return;
|
||||
|
||||
|
||||
@@ -25,12 +25,20 @@ public class EditorialCreateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getGuardarButton().addActionListener(e -> this.save());
|
||||
this.view.getNombreField().addActionListener(e -> this.save());
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.EDITORIAL_SEARCH));
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea una nueva editorial con los datos entregados en la vista
|
||||
* <p>
|
||||
* Primero valida que todo sea correcto antes de guardar despues de guardar limpia los campos y coloca el foco en el field de nombre
|
||||
*/
|
||||
private void save() {
|
||||
String nombre = this.view.getNombreField().getText();
|
||||
ValidationResult nombreValidation = this.validator.validateNombre(nombre);
|
||||
@@ -48,8 +56,14 @@ public class EditorialCreateController extends BaseController {
|
||||
this.view.getNombreField().requestFocus();
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
* <p>
|
||||
* Coloca el foco en el field de nombre
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.view.getNombreField().setText("");
|
||||
this.view.getNombreField().requestFocus();
|
||||
}
|
||||
|
||||
|
||||
@@ -28,11 +28,17 @@ public class EditorialSearchController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de editorial con todos los datos del repositorio
|
||||
*/
|
||||
private void loadEditorialTable() {
|
||||
List<Editorial> editoriales = this.editorialRepository.getAll();
|
||||
this.loadEditorialTable(editoriales);
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getCrearButton().addActionListener(e -> this.getParentController().showCard(PanelName.EDITORIAL_CREATE));
|
||||
this.view.getBuscarButton().addActionListener(e -> this.search());
|
||||
@@ -42,17 +48,28 @@ public class EditorialSearchController extends BaseController {
|
||||
this.view.getVerButton().addActionListener(e -> this.view());
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla editorial con los elementos de la lista entregada
|
||||
*
|
||||
* @param editoriales Lista de editoriales con que llenar la tabla
|
||||
*/
|
||||
private void loadEditorialTable(List<Editorial> editoriales) {
|
||||
BaseTableModel<Editorial> model = this.view.getEditorialModel();
|
||||
model.setRows(editoriales);
|
||||
}
|
||||
|
||||
/**
|
||||
* Realiza una busqueda en los elementos del repositorios con el termino ingresado en el campo de busqueda como filtro
|
||||
*/
|
||||
private void search() {
|
||||
String term = this.view.getBuscarField().getText();
|
||||
List<Editorial> editoriales = this.editorialRepository.search(term);
|
||||
this.loadEditorialTable(editoriales);
|
||||
}
|
||||
|
||||
/**
|
||||
* Elimina ua editorial Primero validando si se puede hacer, luego se pide confirmacion al usuario
|
||||
*/
|
||||
private void delete() {
|
||||
Editorial editorial = this.getSelectedEditorial();
|
||||
if (editorial == null)
|
||||
@@ -74,9 +91,14 @@ public class EditorialSearchController extends BaseController {
|
||||
return;
|
||||
|
||||
this.editorialRepository.delete(editorial);
|
||||
this.reload();
|
||||
this.view.getEditorialModel().fireTableDataChanged();
|
||||
}
|
||||
|
||||
/**
|
||||
* Muestra la vista de EDITORIAL_UPDATE para modificar la editorial seleccionada
|
||||
* <p>
|
||||
* Si no hay ninguna seleccionada no hace nada
|
||||
*/
|
||||
private void edit() {
|
||||
Editorial editorial = this.getSelectedEditorial();
|
||||
if (editorial != null) {
|
||||
@@ -86,6 +108,11 @@ public class EditorialSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Muestra la vista de EDITORIAL_VIEW para ver la editorial seleccionada
|
||||
* <p>
|
||||
* Si no hay ninguna seleccionada no hace nada
|
||||
*/
|
||||
private void view() {
|
||||
Editorial editorial = this.getSelectedEditorial();
|
||||
if (editorial != null) {
|
||||
@@ -95,6 +122,11 @@ public class EditorialSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene la editorial seleccionada en la tabla
|
||||
*
|
||||
* @return La editorial seleccionada, si no hay ninguna seleccionada muestra un mensaje de error y retorna null
|
||||
*/
|
||||
private Editorial getSelectedEditorial() {
|
||||
int selectedRow = this.view.getEditorialTable().getSelectedRow();
|
||||
if (selectedRow == -1) {
|
||||
@@ -110,15 +142,17 @@ public class EditorialSearchController extends BaseController {
|
||||
return this.view.getEditorialModel().getRow(selectedRow);
|
||||
}
|
||||
|
||||
public void reload() {
|
||||
/**
|
||||
* Metodo que se ejecuta al momento de mostrar la vista
|
||||
* <p>
|
||||
* Carga la tabla de editorial, limpia la seleccion de esta, limpia el contenido del campo buscar y le coloca el foco a este
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.loadEditorialTable();
|
||||
this.view.getEditorialTable().clearSelection();
|
||||
this.view.getBuscarField().requestFocus();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void show() {
|
||||
this.reload();
|
||||
this.view.getBuscarField().setText("");
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -25,12 +25,20 @@ public class EditorialUpdateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getNombreField().addActionListener(e -> this.update());
|
||||
this.view.getActualizarButton().addActionListener(e -> this.update());
|
||||
this.view.getVolverButton().addActionListener(e -> this.parentController.showCard(PanelName.EDITORIAL_SEARCH));
|
||||
}
|
||||
|
||||
/**
|
||||
* Actualiza la editorial
|
||||
* Primero valida si los datos son correctos para luego actualizarla y volver
|
||||
* a la vista de EDITORIAL_SEARCH
|
||||
*/
|
||||
private void update() {
|
||||
ValidationResult originalValidation = this.validator.validateOriginal(this.editorial);
|
||||
if (originalValidation.hasError()) {
|
||||
@@ -52,6 +60,11 @@ public class EditorialUpdateController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.EDITORIAL_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al momento de mostrar la vista
|
||||
*
|
||||
* Rellena con los datos de la editorial la vista y coloca el foco en el field de nombre
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
if (this.editorial == null)
|
||||
|
||||
@@ -18,18 +18,22 @@ public class EditorialViewController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners para la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getVolverButton().addActionListener(e -> {
|
||||
this.getParentController().showCard(PanelName.EDITORIAL_SEARCH);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
*
|
||||
* Rellena los datos de la editorial en la vista
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.fillEditorial();
|
||||
}
|
||||
|
||||
private void fillEditorial() {
|
||||
if (this.editorial == null)
|
||||
return;
|
||||
|
||||
|
||||
@@ -25,12 +25,22 @@ public class EmpresaCreateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getGuardarButton().addActionListener(e -> this.save());
|
||||
this.view.getNombreField().addActionListener(e -> this.save());
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.EMPRESA_SEARCH));
|
||||
}
|
||||
|
||||
/**
|
||||
* Guarda una empresa con los datos entregados por la vista
|
||||
*
|
||||
* Crearla valida los datos y luego limpia los campos de texto y le coloca
|
||||
* el foco al field de nombre
|
||||
*
|
||||
*/
|
||||
private void save() {
|
||||
String nombre = this.view.getNombreField().getText();
|
||||
ValidationResult nombreValidation = this.validator.validateNombre(nombre);
|
||||
|
||||
@@ -27,11 +27,17 @@ public class EmpresaSearchController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de empresa con todos los datos del repositorio
|
||||
*/
|
||||
private void loadEmpresaTable() {
|
||||
List<Empresa> empresas = this.empresaRepository.getAll();
|
||||
this.loadEmpresaTable(empresas);
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getCrearButton().addActionListener(e -> this.getParentController().showCard(PanelName.EMPRESA_CREATE));
|
||||
this.view.getBuscarButton().addActionListener(e -> this.search());
|
||||
@@ -41,17 +47,28 @@ public class EmpresaSearchController extends BaseController {
|
||||
this.view.getVerButton().addActionListener(e -> this.view());
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de empresas con los elementos de la lista entregada
|
||||
*
|
||||
* @param empresas Lista de empresas con que llenar la tabla
|
||||
*/
|
||||
private void loadEmpresaTable(List<Empresa> empresas) {
|
||||
BaseTableModel<Empresa> model = this.view.getEmpresaModel();
|
||||
model.setRows(empresas);
|
||||
}
|
||||
|
||||
/**
|
||||
* Realiza una busqueda en los elementos del repositorios con el termino ingresado en el campo de busqueda como filtro
|
||||
*/
|
||||
private void search() {
|
||||
String term = this.view.getBuscarField().getText();
|
||||
List<Empresa> empresaes = this.empresaRepository.search(term);
|
||||
this.loadEmpresaTable(empresaes);
|
||||
}
|
||||
|
||||
/**
|
||||
* Elimina la empresa seleccionada primero pidiendo confirmacion al usuario
|
||||
*/
|
||||
private void delete() {
|
||||
Empresa empresa = this.getSelectedEmpresa();
|
||||
if (empresa == null)
|
||||
@@ -68,9 +85,14 @@ public class EmpresaSearchController extends BaseController {
|
||||
return;
|
||||
|
||||
this.empresaRepository.delete(empresa);
|
||||
this.reload();
|
||||
this.view.getEmpresaModel().fireTableDataChanged();
|
||||
}
|
||||
|
||||
/**
|
||||
* Muestra la vista de EMPRESA_UPDATED para editar la empresa seleccionada
|
||||
* <p>
|
||||
* Si no hay ninguna empresa seleccionada no hace nada
|
||||
*/
|
||||
private void edit() {
|
||||
Empresa empresa = this.getSelectedEmpresa();
|
||||
if (empresa != null) {
|
||||
@@ -80,6 +102,11 @@ public class EmpresaSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* w* Muestra la vista de EMPRESA_VIEW para ver la empresa seleccionada
|
||||
* <p>
|
||||
* Si no hay ninguna empresa seleccionada no hace nada
|
||||
*/
|
||||
private void view() {
|
||||
Empresa empresa = this.getSelectedEmpresa();
|
||||
if (empresa != null) {
|
||||
@@ -89,6 +116,11 @@ public class EmpresaSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene la empresa seleccionada en la tabla
|
||||
*
|
||||
* @return La empresa seleccionada, si no hay ninguna seleccionada muestra un mensaje de error y luego retorna null
|
||||
*/
|
||||
private Empresa getSelectedEmpresa() {
|
||||
int selectedRow = this.view.getEmpresaTable().getSelectedRow();
|
||||
if (selectedRow == -1) {
|
||||
@@ -104,15 +136,17 @@ public class EmpresaSearchController extends BaseController {
|
||||
return this.view.getEmpresaModel().getRow(selectedRow);
|
||||
}
|
||||
|
||||
public void reload() {
|
||||
this.loadEmpresaTable();
|
||||
this.view.getEmpresaTable().clearSelection();
|
||||
this.view.getBuscarField().requestFocus();
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al momento de mostrar la vista Carga la tabla de empresas, limpia la seleccion en esta, limpia el contendio del campo
|
||||
* buscar y le coloca el foco a este
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.reload();
|
||||
this.loadEmpresaTable();
|
||||
this.view.getEmpresaTable().clearSelection();
|
||||
this.view.getBuscarField().setText("");
|
||||
this.view.getBuscarField().requestFocus();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -25,12 +25,21 @@ public class EmpresaUpdateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getNombreField().addActionListener(e -> this.update());
|
||||
this.view.getActualizarButton().addActionListener(e -> this.update());
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.EMPRESA_SEARCH));
|
||||
}
|
||||
|
||||
/**
|
||||
* Actualiza la empresa
|
||||
*
|
||||
* Primero valida si los datos son validos y luego de actualizar vuelve a
|
||||
* la vista de EMPRESA_SEARCH
|
||||
*/
|
||||
private void update() {
|
||||
ValidationResult originalValidation = this.validator.validateOriginal(this.empresa);
|
||||
if (originalValidation.hasError()) {
|
||||
@@ -52,6 +61,11 @@ public class EmpresaUpdateController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.EMPRESA_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
*
|
||||
* Carga los datos de la empresa y coloca el foco en el campo de nombre
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
if (this.empresa == null)
|
||||
|
||||
@@ -18,18 +18,22 @@ public class EmpresaViewController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getVolverButton().addActionListener(e -> {
|
||||
this.getParentController().showCard(PanelName.EMPRESA_SEARCH);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
*
|
||||
* Carga los datos de la empresa
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.fillEmpresa();
|
||||
}
|
||||
|
||||
private void fillEmpresa() {
|
||||
if (this.empresa == null)
|
||||
return;
|
||||
|
||||
|
||||
@@ -25,12 +25,21 @@ public class IdiomaCreateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getNombreField().addActionListener(e -> this.save());
|
||||
this.view.getGuardarButton().addActionListener(e -> this.save());
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.IDIOMA_SEARCH));
|
||||
}
|
||||
|
||||
/**
|
||||
* Guarda el idioma con los datos entregados en la vista
|
||||
*
|
||||
* Primero valida que sean correctos y luego de guardar limpia el contenido
|
||||
* del campo de nombre y coloca el foco en el
|
||||
*/
|
||||
private void save() {
|
||||
String nombre = this.view.getNombreField().getText();
|
||||
ValidationResult nombreValidation = this.validator.validateNombre(nombre);
|
||||
@@ -48,6 +57,11 @@ public class IdiomaCreateController extends BaseController {
|
||||
this.view.getNombreField().requestFocus();
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al momento mostrar la vista
|
||||
*
|
||||
* Coloca el foco en el field de nombre
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.view.getNombreField().requestFocus();
|
||||
|
||||
@@ -28,11 +28,17 @@ public class IdiomaSearchController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de idiomas con todos los elementos del repositorio
|
||||
*/
|
||||
private void loadIdiomaTable() {
|
||||
List<Idioma> idiomas = this.idiomaRepository.getAll();
|
||||
this.loadIdiomaTable(idiomas);
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners para la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getCrearButton().addActionListener(e -> this.getParentController().showCard(PanelName.IDIOMA_CREATE));
|
||||
this.view.getBuscarButton().addActionListener(e -> this.search());
|
||||
@@ -42,17 +48,28 @@ public class IdiomaSearchController extends BaseController {
|
||||
this.view.getVerButton().addActionListener(e -> this.view());
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de idiomas con los entregados en la lista
|
||||
*
|
||||
* @param idiomas Lista de idiomas que se cargaran a la tabla
|
||||
*/
|
||||
private void loadIdiomaTable(List<Idioma> idiomas) {
|
||||
BaseTableModel<Idioma> model = this.view.getIdiomaTableModel();
|
||||
model.setRows(idiomas);
|
||||
}
|
||||
|
||||
/**
|
||||
* Realiza una busqueda en los elementos del repositorios con el termino ingresado en el campo de busqueda como filtro
|
||||
*/
|
||||
private void search() {
|
||||
String term = this.view.getBuscarField().getText();
|
||||
List<Idioma> idiomas = this.idiomaRepository.search(term);
|
||||
this.loadIdiomaTable(idiomas);
|
||||
}
|
||||
|
||||
/**
|
||||
* Elimina un idioma, solo tras comprobar que es eliminable y preguntar al usuario por confirmacion
|
||||
*/
|
||||
private void delete() {
|
||||
Idioma idioma = this.getSelectedIdioma();
|
||||
if (idioma == null)
|
||||
@@ -75,9 +92,14 @@ public class IdiomaSearchController extends BaseController {
|
||||
return;
|
||||
|
||||
this.idiomaRepository.delete(idioma);
|
||||
this.reload();
|
||||
this.view.getIdiomaTableModel().fireTableDataChanged();
|
||||
}
|
||||
|
||||
/**
|
||||
* Muestra la vista de IDIOMA_UPDATE para editar el idioma seleccionado
|
||||
* <p>
|
||||
* Si no hay ninguno seleccionado no hace nada
|
||||
*/
|
||||
private void edit() {
|
||||
Idioma idioma = this.getSelectedIdioma();
|
||||
if (idioma != null) {
|
||||
@@ -87,6 +109,11 @@ public class IdiomaSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Muestra la vista de IDIOMA_VIEW para ver el idioma seleccionado
|
||||
* <p>
|
||||
* Si no hay ninguno seleccionado no hace nada
|
||||
*/
|
||||
private void view() {
|
||||
Idioma idioma = this.getSelectedIdioma();
|
||||
if (idioma != null) {
|
||||
@@ -96,6 +123,11 @@ public class IdiomaSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene el idioma seleccionado
|
||||
*
|
||||
* @return El Idioma seleccionado, si no hay ninguno seleccionado muestra un mensaje de error y retorna null
|
||||
*/
|
||||
private Idioma getSelectedIdioma() {
|
||||
int selectedRow = this.view.getIdiomaTable().getSelectedRow();
|
||||
if (selectedRow == -1) {
|
||||
@@ -110,15 +142,18 @@ public class IdiomaSearchController extends BaseController {
|
||||
return this.view.getIdiomaTableModel().getRow(selectedRow);
|
||||
}
|
||||
|
||||
public void reload() {
|
||||
this.loadIdiomaTable();
|
||||
this.view.getBuscarField().requestFocus();
|
||||
this.view.getIdiomaTable().clearSelection();
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al momento de mostrar la vista
|
||||
* <p>
|
||||
* Carga la tabla de idioma y coloca el foco el field de buscar ademas de limpiar la seleccion en la tabla y el texto en el field de buscar
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.reload();
|
||||
this.loadIdiomaTable();
|
||||
this.view.getBuscarField().setText("");
|
||||
this.view.getBuscarField().requestFocus();
|
||||
this.view.getIdiomaTable().clearSelection();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -25,12 +25,21 @@ public class IdiomaUpdateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getNombreField().addActionListener(e -> this.update());
|
||||
this.view.getActualizarButton().addActionListener(e -> this.update());
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.IDIOMA_SEARCH));
|
||||
}
|
||||
|
||||
/**
|
||||
* Actualiza el Idioma con los datos entregados en la vista
|
||||
*
|
||||
* Valida los datos antes de actualizar y luego vuelve a la vista de
|
||||
* IDIOMA_SEARCH
|
||||
*/
|
||||
private void update() {
|
||||
ValidationResult originalValidation = this.validator.validateOriginal(this.idioma);
|
||||
if (originalValidation.hasError()) {
|
||||
@@ -49,18 +58,18 @@ public class IdiomaUpdateController extends BaseController {
|
||||
this.idioma.setNombre(nombre);
|
||||
this.idiomaRepository.update(this.idioma);
|
||||
|
||||
this.view.getNombreField().setText("");
|
||||
this.getParentController().showCard(PanelName.IDIOMA_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
*
|
||||
* Llena el campo de nombre y pone el foco en el
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.fillIdioma();
|
||||
this.view.getNombreField().requestFocus();
|
||||
}
|
||||
|
||||
private void fillIdioma() {
|
||||
this.view.getNombreField().setText(this.idioma.getNombre());
|
||||
this.view.getNombreField().requestFocus();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -18,18 +18,22 @@ public class IdiomaViewController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getVolverButton().addActionListener(e -> {
|
||||
this.getParentController().showCard(PanelName.IDIOMA_SEARCH);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
*
|
||||
* Carga los datos del idioma
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.fillIdioma();
|
||||
}
|
||||
|
||||
private void fillIdioma() {
|
||||
if (this.idioma == null)
|
||||
return;
|
||||
|
||||
|
||||
@@ -53,6 +53,9 @@ public class LibroCreateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la lista de idiomas con los existentes en el repositorio
|
||||
*/
|
||||
private void loadIdiomasList() {
|
||||
List<Idioma> idiomas = this.idiomaRepository.getAll();
|
||||
DefaultListModel<Idioma> model = this.view.getIdiomasModel();
|
||||
@@ -62,6 +65,9 @@ public class LibroCreateController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la lista de categorias con las existentes en el repositorio
|
||||
*/
|
||||
private void loadCategoriasList() {
|
||||
List<Categoria> categorias = this.categoriaRepository.getAll();
|
||||
DefaultListModel<Categoria> model = this.view.getCategoriasModel();
|
||||
@@ -71,6 +77,9 @@ public class LibroCreateController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la lista de autores con las existentes en el repositorio
|
||||
*/
|
||||
private void loadAutorList() {
|
||||
List<Autor> autores = this.autorRepository.getAll();
|
||||
DefaultListModel<Autor> model = this.view.getAutoresModel();
|
||||
@@ -80,6 +89,9 @@ public class LibroCreateController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga el combobox de editoriales con los existentes en el repositorio
|
||||
*/
|
||||
private void loadEditorialCombo() {
|
||||
List<Editorial> editoriales = this.editorialRepository.getAll();
|
||||
JComboBox<Editorial> combobox = this.view.getEditorialCombo();
|
||||
@@ -89,6 +101,9 @@ public class LibroCreateController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners para la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getVolverButton().addActionListener(e -> {
|
||||
this.getParentController().showCard(PanelName.LIBRO_SEARCH);
|
||||
@@ -96,6 +111,13 @@ public class LibroCreateController extends BaseController {
|
||||
this.view.getGuardarButton().addActionListener(e -> this.save());
|
||||
}
|
||||
|
||||
/**
|
||||
* Guarda un nuevo libro con los datos ingresados en la vista
|
||||
*
|
||||
* Primero valida que todos los datos sean correctos y luego crea el libro
|
||||
*
|
||||
* Al terminar vuelve a la vista de LIBRO_SEARCH
|
||||
*/
|
||||
private void save() {
|
||||
String isbn = this.view.getIsbnField().getText();
|
||||
ValidationResult isbnValidation = this.validator.validateISBN(isbn);
|
||||
@@ -177,12 +199,13 @@ public class LibroCreateController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.LIBRO_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
*
|
||||
* Carga la vista con datos para crear el libro y pone el foco en el field de isbn
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.reload();
|
||||
}
|
||||
|
||||
private void reload() {
|
||||
this.loadIdiomasList();
|
||||
this.loadCategoriasList();
|
||||
this.loadAutorList();
|
||||
@@ -191,6 +214,10 @@ public class LibroCreateController extends BaseController {
|
||||
this.view.getIsbnField().requestFocus();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Limpia todos los campos de la vista
|
||||
*/
|
||||
private void cleanInput() {
|
||||
this.view.getIsbnField().setText("");
|
||||
this.view.getTituloField().setText("");
|
||||
|
||||
@@ -27,11 +27,17 @@ public class LibroSearchController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla con todo los libros del repositorio
|
||||
*/
|
||||
private void loadLibroTable() {
|
||||
List<Libro> libros = this.libroRepository.getAll();
|
||||
this.loadLibroTable(libros);
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getCrearButton().addActionListener(e -> this.getParentController().showCard(PanelName.LIBRO_CREATE));
|
||||
this.view.getBuscarButton().addActionListener(e -> this.search());
|
||||
@@ -41,17 +47,28 @@ public class LibroSearchController extends BaseController {
|
||||
this.view.getVerButton().addActionListener(e -> this.view());
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de libros con los entregados en la lista
|
||||
*
|
||||
* @param libros Libros con que llenar la tabla
|
||||
*/
|
||||
private void loadLibroTable(List<Libro> libros) {
|
||||
BaseTableModel<Libro> model = this.view.getLibrosModel();
|
||||
model.setRows(libros);
|
||||
}
|
||||
|
||||
/**
|
||||
* Realiza una busqueda en los elementos del repositorios con el termino ingresado en el campo de busqueda como filtro
|
||||
*/
|
||||
private void search() {
|
||||
String term = this.view.getBuscarField().getText();
|
||||
List<Libro> libros = this.libroRepository.search(term);
|
||||
this.loadLibroTable(libros);
|
||||
}
|
||||
|
||||
/**
|
||||
* Elimina un libro, primero pidiendo confirmacion al usuario
|
||||
*/
|
||||
private void delete() {
|
||||
Libro libro = this.getSelectedLibro();
|
||||
if (libro == null)
|
||||
@@ -68,9 +85,14 @@ public class LibroSearchController extends BaseController {
|
||||
return;
|
||||
|
||||
this.libroRepository.delete(libro);
|
||||
this.reload();
|
||||
this.view.getLibrosModel().fireTableDataChanged();
|
||||
}
|
||||
|
||||
/**
|
||||
* Muestra la vista de LIBRO_UPDATE para actualizar el libro seleccionado
|
||||
*
|
||||
* Si no hay libro seleccionado no hace nada
|
||||
*/
|
||||
private void edit() {
|
||||
Libro libro = this.getSelectedLibro();
|
||||
if (libro != null) {
|
||||
@@ -80,6 +102,11 @@ public class LibroSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Muestra la vista de LIBRO_VIEW para ver el libro seleccionado
|
||||
*
|
||||
* Si no hay libro seleccionado no hace nada
|
||||
*/
|
||||
private void view() {
|
||||
Libro libro = this.getSelectedLibro();
|
||||
if (libro != null) {
|
||||
@@ -89,6 +116,12 @@ public class LibroSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene el libro seleccionado
|
||||
*
|
||||
* @return El libro seleccionado, si no hay ninguno, muestra un mensaje de
|
||||
* error y retorna null
|
||||
*/
|
||||
private Libro getSelectedLibro() {
|
||||
int selectedRow = this.view.getLibrosTable().getSelectedRow();
|
||||
if (selectedRow == -1) {
|
||||
@@ -103,15 +136,19 @@ public class LibroSearchController extends BaseController {
|
||||
return this.view.getLibrosModel().getRow(selectedRow);
|
||||
}
|
||||
|
||||
public void reload() {
|
||||
this.loadLibroTable();
|
||||
this.view.getBuscarField().requestFocus();
|
||||
this.view.getLibrosTable().clearSelection();
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
*
|
||||
* Carga la tabla de libros, limpia su seleccion, limpia el contenido de el
|
||||
* campo de buscar y coloca el foco sobre el
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.reload();
|
||||
this.loadLibroTable();
|
||||
this.view.getLibrosTable().clearSelection();
|
||||
this.view.getBuscarField().setText("");
|
||||
this.view.getBuscarField().requestFocus();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -48,11 +48,18 @@ public class LibroUpdateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners para la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getActualizarButton().addActionListener(e -> this.update());
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.LIBRO_SEARCH));
|
||||
}
|
||||
|
||||
/**
|
||||
* Actualiza el libro, validando los datos antes de hacerlo y luego volviendo
|
||||
* a la vista de LIBRO_SEARCH
|
||||
*/
|
||||
private void update() {
|
||||
ValidationResult libroValidation = this.validator.validateLibro(this.libro);
|
||||
if (libroValidation.hasError()) {
|
||||
@@ -144,12 +151,13 @@ public class LibroUpdateController extends BaseController {
|
||||
this.libro = libro;
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se llama al momento de mostrar la vista
|
||||
*
|
||||
* Carga todos los datos del libro y coloca el foco sobre el isbn
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.reload();
|
||||
}
|
||||
|
||||
private void reload() {
|
||||
this.loadAutorList();
|
||||
this.loadCategoriasList();
|
||||
this.loadEditorialCombo();
|
||||
@@ -158,6 +166,10 @@ public class LibroUpdateController extends BaseController {
|
||||
this.view.getIsbnField().requestFocus();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Carga la lista de autores con los existentes en el repositorio
|
||||
*/
|
||||
private void loadAutorList() {
|
||||
List<Autor> autores = this.autorRepository.getAll();
|
||||
DefaultListModel<Autor> model = this.view.getAutoresModel();
|
||||
@@ -167,6 +179,9 @@ public class LibroUpdateController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la lista de categorias con las existentes en el repositorio
|
||||
*/
|
||||
private void loadCategoriasList() {
|
||||
List<Categoria> categorias = this.categoriaRepository.getAll();
|
||||
DefaultListModel<Categoria> model = this.view.getCategoriasModel();
|
||||
@@ -176,6 +191,9 @@ public class LibroUpdateController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga el combobox de editorial con las existentes en el repositorio
|
||||
*/
|
||||
private void loadEditorialCombo() {
|
||||
List<Editorial> editoriales = this.editorialRepository.getAll();
|
||||
JComboBox<Editorial> combobox = this.view.getEditorialCombo();
|
||||
@@ -185,6 +203,9 @@ public class LibroUpdateController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la lista de idiomas con los existentes en la base de datos
|
||||
*/
|
||||
private void loadIdiomasList() {
|
||||
List<Idioma> idiomas = this.idiomaRepository.getAll();
|
||||
DefaultListModel<Idioma> model = this.view.getIdiomasModel();
|
||||
@@ -194,6 +215,9 @@ public class LibroUpdateController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga los datos del libro en la vista
|
||||
*/
|
||||
private void fillLibro() {
|
||||
if (this.libro == null)
|
||||
return;
|
||||
|
||||
@@ -36,24 +36,31 @@ public class LibroViewController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners para la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getVolverButton().addActionListener(e -> {
|
||||
this.getParentController().showCard(PanelName.LIBRO_SEARCH);
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al momento de mostrar la vista
|
||||
*
|
||||
* Carga los datos del libro en la vista
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.reload();
|
||||
}
|
||||
|
||||
private void reload() {
|
||||
this.loadAutorList();
|
||||
this.loadCategoriasList();
|
||||
this.loadIdiomasList();
|
||||
this.fillLibro();
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la lista de autores con los que tiene el libro
|
||||
*/
|
||||
private void loadAutorList() {
|
||||
DefaultListModel<Autor> model = this.view.getAutoresModel();
|
||||
model.clear();
|
||||
@@ -62,6 +69,9 @@ public class LibroViewController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la lista de categorias con los que tiene el libro
|
||||
*/
|
||||
private void loadCategoriasList() {
|
||||
DefaultListModel<Categoria> model = this.view.getCategoriasModel();
|
||||
model.clear();
|
||||
@@ -70,6 +80,9 @@ public class LibroViewController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de idiomas con los que tiene el libro
|
||||
*/
|
||||
private void loadIdiomasList() {
|
||||
DefaultListModel<Idioma> model = this.view.getIdiomasModel();
|
||||
model.clear();
|
||||
@@ -78,6 +91,9 @@ public class LibroViewController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga los datos del libro en los fields de la vista
|
||||
*/
|
||||
private void fillLibro() {
|
||||
if (this.libro == null)
|
||||
return;
|
||||
|
||||
@@ -47,6 +47,9 @@ public class OrdenCompraAceptarController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners para la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getPrecioNetoField().getDocument().addDocumentListener((ChangeListener) e -> this.calculatePrice());
|
||||
this.view.getAsignarButton().addActionListener(e -> this.asignar());
|
||||
@@ -54,6 +57,10 @@ public class OrdenCompraAceptarController extends BaseController {
|
||||
this.view.getVolverButton().addActionListener(e -> this.volver());
|
||||
}
|
||||
|
||||
/**
|
||||
* Calcula el iva y el precio bruto a partir del neto, luego de esto
|
||||
* los muestra en la vista
|
||||
*/
|
||||
private void calculatePrice() {
|
||||
try {
|
||||
int neto = Integer.parseInt(this.view.getPrecioNetoField().getText());
|
||||
@@ -67,12 +74,26 @@ public class OrdenCompraAceptarController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Va a la vista de ORDEN_COMPRA_ASIGNAR
|
||||
*/
|
||||
private void asignar() {
|
||||
OrdenCompraAsignarController controller = (OrdenCompraAsignarController) this.parentController.getCard(PanelName.ORDEN_COMPRA_ASIGNAR);
|
||||
controller.setOrdenCompra(this.ordenCompra);
|
||||
this.getParentController().showCard(PanelName.ORDEN_COMPRA_ASIGNAR);
|
||||
}
|
||||
|
||||
/**
|
||||
* Acepta la orden de compra
|
||||
*
|
||||
* Obtiene los valores asignados en la vista de ORDEN_COMPRA_ASIGNAR
|
||||
*
|
||||
* Luego valida todos los datos ingresados en la vista
|
||||
*
|
||||
* Tras esto crea una factura, la compra y actualiza la orden de compra a recibida
|
||||
*
|
||||
* Al terminar vuelve a la vista ORDEN_COMRPA_SEARCH
|
||||
*/
|
||||
private void save() {
|
||||
OrdenCompraAsignarController controller = (OrdenCompraAsignarController) this.parentController.getCard(PanelName.ORDEN_COMPRA_ASIGNAR);
|
||||
List<Ejemplar> ejemplares = controller.getEjemplares();
|
||||
@@ -128,6 +149,9 @@ public class OrdenCompraAceptarController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.ORDEN_COMPRA_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Va a la vista de ORDERN_COMPRA_SEARCH
|
||||
*/
|
||||
private void volver() {
|
||||
OrdenCompraAsignarController controller = (OrdenCompraAsignarController) this.parentController.getCard(PanelName.ORDEN_COMPRA_ASIGNAR);
|
||||
controller.setEjemplares(null);
|
||||
@@ -139,6 +163,11 @@ public class OrdenCompraAceptarController extends BaseController {
|
||||
this.ordenCompra = ordenCompra;
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
*
|
||||
* Pone el foco en el boton de buscar, y coloca valores por default en los campos de texto
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.view.getAsignarButton().requestFocus();
|
||||
|
||||
@@ -30,6 +30,10 @@ public class OrdenCompraAsignarController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getSiguienteButton().addActionListener(e -> this.siguiente());
|
||||
this.view.getAnteriorButton().addActionListener(e -> this.anterior());
|
||||
@@ -37,6 +41,9 @@ public class OrdenCompraAsignarController extends BaseController {
|
||||
this.view.getSerieField().getDocument().addDocumentListener((ChangeListener) e -> this.saveCurrent());
|
||||
}
|
||||
|
||||
/**
|
||||
* Avanza la lista al siguiente ejemplar
|
||||
*/
|
||||
private void siguiente() {
|
||||
if (this.currentIndex + 1 < this.ejemplares.size()) {
|
||||
this.currentIndex++;
|
||||
@@ -44,6 +51,9 @@ public class OrdenCompraAsignarController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Retrocede la lista al anterior ejemplar
|
||||
*/
|
||||
private void anterior() {
|
||||
if (this.currentIndex - 1 >= 0) {
|
||||
this.currentIndex--;
|
||||
@@ -51,17 +61,29 @@ public class OrdenCompraAsignarController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Vuelve a la vista de ORDEN_COMPRA_ACEPTAR
|
||||
*/
|
||||
private void save() {
|
||||
OrdenCompraAceptarController controller = (OrdenCompraAceptarController) this.parentController.getCard(PanelName.ORDEN_COMPRA_ACEPTAR);
|
||||
controller.setOrdenCompra(this.ordenCompra);
|
||||
this.parentController.showCard(PanelName.ORDEN_COMPRA_ACEPTAR);
|
||||
}
|
||||
|
||||
/**
|
||||
* Guarda el valor ingresado como serie al ejemplar correspondiente
|
||||
*/
|
||||
private void saveCurrent() {
|
||||
String serie = this.view.getSerieField().getText();
|
||||
this.ejemplares.get(this.currentIndex).setSerie(serie);
|
||||
}
|
||||
|
||||
/**
|
||||
* Actualiza el campo de libro y la serie con los datos de el index actual
|
||||
* ademas de actualizar los labels indicando a que altura de la lista se va
|
||||
* lo ultimo que hace es activar o desactivar los botones de siguiente y
|
||||
* anterior segun corresponda
|
||||
*/
|
||||
private void actualizar() {
|
||||
this.view.getLibroField().setText(this.ejemplares.get(this.currentIndex).getLibro().toString());
|
||||
this.view.getSerieField().setText(this.ejemplares.get(this.currentIndex).getSerie());
|
||||
@@ -71,6 +93,12 @@ public class OrdenCompraAsignarController extends BaseController {
|
||||
this.view.getAnteriorButton().setEnabled(this.currentIndex > 0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al momento de mostrar la vista
|
||||
*
|
||||
* Llama a crear la lista de ejemplares si no existe y rellena los campos de
|
||||
* la vista con el primero de la lista
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
if (this.ejemplares == null) {
|
||||
@@ -83,6 +111,10 @@ public class OrdenCompraAsignarController extends BaseController {
|
||||
this.actualizar();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea una lista con ejemplares base para cada libro en la lista de la
|
||||
* orden de compra
|
||||
*/
|
||||
private void createEjemplaresBase() {
|
||||
this.ejemplares = new ArrayList<>();
|
||||
List<Libro> libros = this.ordenCompra.getLibros();
|
||||
|
||||
@@ -34,6 +34,9 @@ public class OrdenCompraCrearController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners para la vista
|
||||
*/
|
||||
public void setupListeners() {
|
||||
this.view.getGuardarButton().addActionListener(e -> this.save());
|
||||
this.view.getVolverButton().addActionListener(e -> this.volver());
|
||||
@@ -41,6 +44,10 @@ public class OrdenCompraCrearController extends BaseController {
|
||||
this.view.getAgregarButton().addActionListener(e -> this.agregar());
|
||||
}
|
||||
|
||||
/**
|
||||
* Guarda una nueva orden de compra, primero validando si todos los datos
|
||||
* son correctos y luego de crearlo vuelve a la vista de ORDEN_COMPRA_SEARCH
|
||||
*/
|
||||
private void save() {
|
||||
List<Libro> libros = this.view.getLibroTableModel().getRows();
|
||||
ValidationResult librosValidation = this.validator.validateLibros(libros);
|
||||
@@ -65,10 +72,16 @@ public class OrdenCompraCrearController extends BaseController {
|
||||
this.parentController.showCard(PanelName.ORDEN_COMPRA_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Vuelve a la vista de ORDEN_COMPRA_SEARCH
|
||||
*/
|
||||
private void volver() {
|
||||
this.parentController.showCard(PanelName.ORDEN_COMPRA_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Quita el libro seleccionado de la tabla
|
||||
*/
|
||||
private void remove() {
|
||||
Libro libro = this.getSelectedLibro();
|
||||
if (libro == null)
|
||||
@@ -77,6 +90,10 @@ public class OrdenCompraCrearController extends BaseController {
|
||||
this.view.getLibroTableModel().removeRow(libro);
|
||||
}
|
||||
|
||||
/**
|
||||
* Agrega el libro seleccionado en el combobox a la tabla, esto lo hace la
|
||||
* cantidad de veces seleccionada en el spinner
|
||||
*/
|
||||
private void agregar() {
|
||||
Libro libro = (Libro) this.view.getLibrosCombo().getSelectedItem();
|
||||
if (libro == null)
|
||||
@@ -88,6 +105,12 @@ public class OrdenCompraCrearController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene el libro seleciconado en la tabla
|
||||
*
|
||||
* @return El libro seleccionado, si no hay ninguno seleccionado muestra un
|
||||
* mensaje de error y retorna null
|
||||
*/
|
||||
private Libro getSelectedLibro() {
|
||||
int selectedRow = this.view.getLibrosTable().getSelectedRow();
|
||||
if (selectedRow == -1) {
|
||||
@@ -102,6 +125,11 @@ public class OrdenCompraCrearController extends BaseController {
|
||||
return this.view.getLibroTableModel().getRow(selectedRow);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al momento de mostrar la vista
|
||||
*
|
||||
* Rellena los combo box y coloca valores por default en el resto de campos
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.fillLibros();
|
||||
@@ -112,11 +140,17 @@ public class OrdenCompraCrearController extends BaseController {
|
||||
this.view.getLibrosTable().clearSelection();
|
||||
}
|
||||
|
||||
/**
|
||||
* Rellena el combobox de libros
|
||||
*/
|
||||
private void fillLibros() {
|
||||
this.view.getLibrosComboModel().removeAllElements();
|
||||
this.view.getLibrosComboModel().addAll(this.libroRepository.getAll());
|
||||
}
|
||||
|
||||
/**
|
||||
* Rellena el combobox de distribuidores
|
||||
*/
|
||||
private void fillDistribuidor() {
|
||||
this.view.getDistribuidorComboModel().removeAllElements();
|
||||
this.view.getDistribuidorComboModel().addAll(this.distribuidorRepository.getAll());
|
||||
|
||||
@@ -23,6 +23,9 @@ public class OrdenCompraSearchController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getBuscarButton().addActionListener(e -> this.search());
|
||||
this.view.getSearchField().addActionListener(e -> this.search());
|
||||
@@ -33,12 +36,23 @@ public class OrdenCompraSearchController extends BaseController {
|
||||
this.view.getAceptarButton().addActionListener(e -> this.aceptar());
|
||||
}
|
||||
|
||||
/**
|
||||
* Realiza una busqueda en los elementos del repositorios con el termino ingresado en el campo de busqueda como filtro
|
||||
*/
|
||||
private void search() {
|
||||
String term = this.view.getSearchField().getText();
|
||||
List<OrdenCompra> ordenCompras = this.repository.search(term);
|
||||
this.loadComprarTable(ordenCompras);
|
||||
}
|
||||
|
||||
/**
|
||||
* Va a la vista de ORDEN_COMPRA_VIEW o a la vista de
|
||||
* ORDEN_COMPRA_VIEW_ACEPTED dependiendo si la orden de compra
|
||||
* seleccionada fue aceptada
|
||||
*
|
||||
*
|
||||
* Si no hay ninguna orden de compra seleccionada no hace nada
|
||||
*/
|
||||
private void view() {
|
||||
OrdenCompra ordenCompra = this.getSelectedOrdenCompra();
|
||||
if (ordenCompra == null) {
|
||||
@@ -56,6 +70,12 @@ public class OrdenCompraSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Cancela una orden de compra mostrando mensajes de error si es que la orden
|
||||
* no esta en estado "En Curso"
|
||||
*
|
||||
* Luego de validar esto cambia el estado de la orden de compra a Cancelada
|
||||
*/
|
||||
private void cancelar() {
|
||||
OrdenCompra ordenCompra = this.getSelectedOrdenCompra();
|
||||
if (ordenCompra == null)
|
||||
@@ -101,6 +121,10 @@ public class OrdenCompraSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Va a la vista de ORDEN_COMPRA_ACEPTAR, mostrando mensajes de error si
|
||||
* la orden de compra no esta en estado "En Curso"
|
||||
*/
|
||||
private void aceptar() {
|
||||
OrdenCompra ordenCompra = this.getSelectedOrdenCompra();
|
||||
if (ordenCompra == null)
|
||||
@@ -136,11 +160,22 @@ public class OrdenCompraSearchController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.ORDEN_COMPRA_ACEPTAR);
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de orden de compra con los entregados en la lista
|
||||
*
|
||||
* @param ordenCompra Lista de orden de compra con la que cargar la tabla
|
||||
*/
|
||||
private void loadComprarTable(List<OrdenCompra> ordenCompra) {
|
||||
BaseTableModel<OrdenCompra> model = this.view.getModel();
|
||||
model.setRows(ordenCompra);
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene la orden de compra seleccionada
|
||||
*
|
||||
* @return La orden de compra seleccionada, si no hay ninguna seleccionada
|
||||
* muestra un mensaje de error y retorna null
|
||||
*/
|
||||
private OrdenCompra getSelectedOrdenCompra() {
|
||||
int selectedRow = this.view.getTable().getSelectedRow();
|
||||
if (selectedRow == -1) {
|
||||
@@ -156,17 +191,22 @@ public class OrdenCompraSearchController extends BaseController {
|
||||
return this.view.getModel().getRow(selectedRow);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al momento de mostrar la vista
|
||||
*
|
||||
* Carga los datos de la tabla, limpia la seleccion en esta, luego limpia el
|
||||
* contenido del campo de busqueda y coloca el foco en el
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.reload();
|
||||
}
|
||||
|
||||
public void reload() {
|
||||
this.loadComprarTable();
|
||||
this.view.getSearchField().requestFocus();
|
||||
this.view.getTable().clearSelection();
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de orden de compra con todos los elementos del repositorio
|
||||
*/
|
||||
private void loadComprarTable() {
|
||||
List<OrdenCompra> ordenCompra = this.repository.getAll();
|
||||
this.loadComprarTable(ordenCompra);
|
||||
|
||||
@@ -18,6 +18,9 @@ public class OrdenCompraViewAceptedController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners para la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getVolverButton().addActionListener(e -> this.parentController.showCard(PanelName.ORDEN_COMPRA_SEARCH));
|
||||
}
|
||||
@@ -26,6 +29,11 @@ public class OrdenCompraViewAceptedController extends BaseController {
|
||||
this.ordenCompra = ordenCompra;
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta cuando se muestra la vista
|
||||
*
|
||||
* Carga la vista con los datos de la orden de compra
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.view.getDistribuidorField().setText(this.ordenCompra.getDistribuidor().getRut());
|
||||
@@ -44,6 +52,9 @@ public class OrdenCompraViewAceptedController extends BaseController {
|
||||
return this.view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla con los ejemplares obtenidos del orden de compra
|
||||
*/
|
||||
private void fillTable() {
|
||||
if (this.ordenCompra != null) {
|
||||
this.view.getEjemplaresTableModel().setRows(this.ordenCompra.getCompra().getEjemplares());
|
||||
|
||||
@@ -18,6 +18,9 @@ public class OrdenCompraViewController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getVolverButton().addActionListener(e -> this.parentController.showCard(PanelName.ORDEN_COMPRA_SEARCH));
|
||||
}
|
||||
@@ -26,6 +29,11 @@ public class OrdenCompraViewController extends BaseController {
|
||||
this.ordenCompra = ordenCompra;
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
*
|
||||
* Carga el campo del distribuidor y la tabla
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.view.getDistribuidorField().setText(this.ordenCompra.getDistribuidor().getRut());
|
||||
@@ -37,6 +45,9 @@ public class OrdenCompraViewController extends BaseController {
|
||||
return this.view;
|
||||
}
|
||||
|
||||
/**
|
||||
* Llena la tabla con los libros solicitados en la orden de compra
|
||||
*/
|
||||
private void fillTable() {
|
||||
if (this.ordenCompra != null) {
|
||||
this.view.getLibroTableModel().setRows(this.ordenCompra.getLibros());
|
||||
|
||||
@@ -25,11 +25,19 @@ public class TrabajadorCreateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getGuardarButton().addActionListener(e -> this.save());
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.TRABAJADOR_SEARCH));
|
||||
}
|
||||
|
||||
/**
|
||||
* Guarda un nuevo trabajador con los datos de la vista
|
||||
* Valida los datos ingresados antes de guardarlo y luego de esto vuelve a
|
||||
* la vista de TRABAJADOR_SEARCH
|
||||
*/
|
||||
private void save() {
|
||||
String rut = this.view.getRutField().getText();
|
||||
ValidationResult rutValidation = this.validator.validateRut(rut);
|
||||
@@ -78,6 +86,11 @@ public class TrabajadorCreateController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.TRABAJADOR_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al momento de mostrar la vista
|
||||
*
|
||||
* Coloca el foco en el campo de rut
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.view.getRutField().requestFocus();
|
||||
|
||||
@@ -43,6 +43,9 @@ public class TrabajadorSearchController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getCrearButton().addActionListener(e -> this.getParentController().showCard(PanelName.TRABAJADOR_CREATE));
|
||||
this.view.getSearchField().addActionListener(e -> this.search());
|
||||
@@ -52,12 +55,20 @@ public class TrabajadorSearchController extends BaseController {
|
||||
this.view.getEliminarButton().addActionListener(e -> this.delete());
|
||||
}
|
||||
|
||||
/**
|
||||
* Realiza una busqueda en los elementos del repositorios con el termino ingresado en el campo de busqueda como filtro
|
||||
*/
|
||||
private void search() {
|
||||
String term = this.view.getSearchField().getText();
|
||||
List<Trabajador> trabajadores = this.trabajadorRespository.search(term);
|
||||
this.loadTrabajadorTable(trabajadores);
|
||||
}
|
||||
|
||||
/**
|
||||
* Va a la vista de TRABAJADOR_VIEW para ver el trabajador seleccionado
|
||||
*
|
||||
* Si no hay trabajador seleccionado no hace nada
|
||||
*/
|
||||
private void view() {
|
||||
Trabajador trabajador = this.getSelectedTrabajador();
|
||||
if (trabajador != null) {
|
||||
@@ -67,6 +78,11 @@ public class TrabajadorSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Va a la vista de TRABAJADOR_UPDATE para editar el trabajador seleccionado
|
||||
*
|
||||
* Si no hay ninguno seleccionado no hace nada
|
||||
*/
|
||||
private void edit() {
|
||||
Trabajador trabajador = this.getSelectedTrabajador();
|
||||
if (trabajador != null) {
|
||||
@@ -76,6 +92,11 @@ public class TrabajadorSearchController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Elimina el trabajador seleccionado, pide confirmacion del usuario antes de hacerlo
|
||||
*
|
||||
* Junto con eliminar el trabajador elimina todos sus direcciones, telefonos y correos.
|
||||
*/
|
||||
private void delete() {
|
||||
Trabajador trabajador = this.getSelectedTrabajador();
|
||||
if (trabajador == null)
|
||||
@@ -96,14 +117,25 @@ public class TrabajadorSearchController extends BaseController {
|
||||
this.telefonoRepository.delete(trabajador.getTelefonos());
|
||||
this.correoRepository.delete(trabajador.getCorreos());
|
||||
this.trabajadorRespository.delete(trabajador);
|
||||
this.reload();
|
||||
this.view.getTrabajadorModel().fireTableDataChanged();
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de trabajadores con la lista entregada
|
||||
*
|
||||
* @param trabajadores Lista de trabajadores con la que llenar la tabla
|
||||
*/
|
||||
private void loadTrabajadorTable(List<Trabajador> trabajadores) {
|
||||
BaseTableModel<Trabajador> model = this.view.getTrabajadorModel();
|
||||
model.setRows(trabajadores);
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene el trabajador seleccionado
|
||||
*
|
||||
* @return El trabajador seleccionado, si no hay ninguno seleccionado muestra
|
||||
* un mensaje de error y retorna null
|
||||
*/
|
||||
private Trabajador getSelectedTrabajador() {
|
||||
int selectedRow = this.view.getTrabajadorTable().getSelectedRow();
|
||||
if (selectedRow == -1) {
|
||||
@@ -118,20 +150,27 @@ public class TrabajadorSearchController extends BaseController {
|
||||
return this.view.getTrabajadorModel().getRow(selectedRow);
|
||||
}
|
||||
|
||||
private void reload() {
|
||||
this.loadTrabajadorTable();
|
||||
this.view.getSearchField().requestFocus();
|
||||
this.view.getTrabajadorTable().clearSelection();
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla de trabajadores con todos los existentes en el respositorio
|
||||
*/
|
||||
private void loadTrabajadorTable() {
|
||||
List<Trabajador> trabajadores = this.trabajadorRespository.getAll();
|
||||
this.loadTrabajadorTable(trabajadores);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
*
|
||||
* Carga la tabla de trabajadores y limpia su seleccion, luego limpia el
|
||||
* texto de el field de buscar y coloca el foco en el.
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.reload();
|
||||
this.loadTrabajadorTable();
|
||||
this.view.getTrabajadorTable().clearSelection();
|
||||
this.view.getSearchField().setText("");
|
||||
this.view.getSearchField().requestFocus();
|
||||
}
|
||||
|
||||
@Override
|
||||
|
||||
@@ -26,11 +26,18 @@ public class TrabajadorUpdateController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getActualizarButton().addActionListener(e -> this.update());
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.TRABAJADOR_SEARCH));
|
||||
}
|
||||
|
||||
/**
|
||||
* Actualiza el trabajador, antes de eso valida todos los datos y tras
|
||||
* terminar vuelve a la vista de TRABAJADOR_SEARCH
|
||||
*/
|
||||
private void update() {
|
||||
String rut = this.view.getRutField().getText();
|
||||
ValidationResult rutValidation = this.trabajadorValidator.validateRut(rut);
|
||||
@@ -82,14 +89,22 @@ public class TrabajadorUpdateController extends BaseController {
|
||||
this.trabajador = trabajador;
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
*
|
||||
* Carga los datos del trabajador y coloca el foco en el campo de rut
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.fillTrabajador();
|
||||
this.view.getRutField().requestFocus();
|
||||
}
|
||||
|
||||
/**
|
||||
* Llena la vista con los datos del trabajador
|
||||
*/
|
||||
private void fillTrabajador() {
|
||||
if (this.trabajadorRespository == null)
|
||||
if (this.trabajador == null)
|
||||
return;
|
||||
|
||||
this.view.getRutField().setText(this.trabajador.getRut());
|
||||
|
||||
@@ -24,6 +24,9 @@ public class TrabajadorViewController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners de la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getVolverButton().addActionListener(e -> this.getParentController().showCard(PanelName.TRABAJADOR_SEARCH));
|
||||
this.view.getCorreosButton().addActionListener(e -> this.gotoCorreosView());
|
||||
@@ -32,6 +35,9 @@ public class TrabajadorViewController extends BaseController {
|
||||
this.view.getDireccionesButton().addActionListener(e -> this.gotoDireccionView());
|
||||
}
|
||||
|
||||
/**
|
||||
* Va a la vista de TRABAJADOR_CORREO_SEARCH
|
||||
*/
|
||||
private void gotoCorreosView() {
|
||||
TrabajadorCorreoSearchController controller = (TrabajadorCorreoSearchController) this.getParentController()
|
||||
.getCard(PanelName.TRABAJADOR_CORREO_SEARCH);
|
||||
@@ -39,6 +45,12 @@ public class TrabajadorViewController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.TRABAJADOR_CORREO_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Va a a la vista de USUARIO_VIEW o USUARIO_CREATE dependiendo si el
|
||||
* trabajador tiene un usuario o no
|
||||
*
|
||||
* Se le pide confirmacion al usuario si es que quiere crear la cuenta de usuario
|
||||
*/
|
||||
private void gotoUsuarioView() {
|
||||
if (this.trabajador.getUsuario() == null) {
|
||||
int result = JOptionPane.showConfirmDialog(
|
||||
@@ -60,6 +72,9 @@ public class TrabajadorViewController extends BaseController {
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Va a la vista de TRABAJADOR_TELEFONO_SEARCH
|
||||
*/
|
||||
private void gotoTelefonoView() {
|
||||
TrabajadorTelefonoSearchController controller = (TrabajadorTelefonoSearchController) this.getParentController()
|
||||
.getCard(PanelName.TRABAJADOR_TELEFONO_SEARCH);
|
||||
@@ -67,6 +82,9 @@ public class TrabajadorViewController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.TRABAJADOR_TELEFONO_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Va a la vista de TRABAJADOR_DIRECCION_SEARCH
|
||||
*/
|
||||
private void gotoDireccionView() {
|
||||
TrabajadorDireccionSearchController controller = (TrabajadorDireccionSearchController) this.getParentController()
|
||||
.getCard(PanelName.TRABAJADOR_DIRECCION_SEARCH);
|
||||
@@ -74,11 +92,19 @@ public class TrabajadorViewController extends BaseController {
|
||||
this.getParentController().showCard(PanelName.TRABAJADOR_DIRECCION_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo que se ejecuta al mostrar la vista
|
||||
*
|
||||
* Carga los datos del trabajador
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.fillTrabajador();
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga los datos del trabajador en la vista
|
||||
*/
|
||||
private void fillTrabajador() {
|
||||
if (this.trabajador == null)
|
||||
return;
|
||||
|
||||
@@ -10,6 +10,9 @@ import xyz.danielcortes.models.Venta;
|
||||
import xyz.danielcortes.repository.VentaRepository;
|
||||
import xyz.danielcortes.views.vender.VenderSearchPanel;
|
||||
|
||||
/**
|
||||
* Controlador para el panel <code>VenderSearchPanel</code>
|
||||
*/
|
||||
public class VenderSearchController extends BaseController {
|
||||
|
||||
private VenderSearchPanel view;
|
||||
@@ -22,6 +25,9 @@ public class VenderSearchController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners para la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getBuscarButton().addActionListener(e -> this.search());
|
||||
this.view.getBuscarField().addActionListener(e -> this.search());
|
||||
@@ -29,16 +35,25 @@ public class VenderSearchController extends BaseController {
|
||||
this.view.getVerButton().addActionListener(e -> this.ver());
|
||||
}
|
||||
|
||||
/**
|
||||
* Realiza una busqueda en las entidades que existen en el repositorio
|
||||
*/
|
||||
private void search() {
|
||||
String term = this.view.getBuscarField().getText();
|
||||
List<Venta> ventas = this.repository.search(term);
|
||||
this.loadTable(ventas);
|
||||
}
|
||||
|
||||
/**
|
||||
* Llama a mostrar la vista de venta
|
||||
*/
|
||||
private void vender() {
|
||||
this.parentController.showCard(PanelName.VENDER_VENDER);
|
||||
}
|
||||
|
||||
/**
|
||||
* Llama a la vista de ver, solo si existe una fila seleccionada en la tabla
|
||||
*/
|
||||
private void ver() {
|
||||
Venta venta = this.getSelectedVenta();
|
||||
if (venta == null)
|
||||
@@ -49,10 +64,20 @@ public class VenderSearchController extends BaseController {
|
||||
this.parentController.showCard(PanelName.VENDER_VER);
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla con los elementos de una lista
|
||||
*
|
||||
* @param ventas Lista de ventas a poner a la tabla
|
||||
*/
|
||||
private void loadTable(List<Venta> ventas) {
|
||||
this.view.getVentaTableModel().setRows(ventas);
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene la venta seleccionada en la tabla, si no hay nada seleccionado muestra un mensaje de error
|
||||
*
|
||||
* @return Se retornara la venta seleccionada, si no hay ninguna seleccionada retornara null
|
||||
*/
|
||||
private Venta getSelectedVenta() {
|
||||
int selectedRow = this.view.getVentasTable().getSelectedRow();
|
||||
if (selectedRow == -1) {
|
||||
@@ -68,13 +93,22 @@ public class VenderSearchController extends BaseController {
|
||||
return this.view.getVentaTableModel().getRow(selectedRow);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo a ejecutar cuando se va a mostrar la vista
|
||||
* <p>
|
||||
* En este caso se necesita cargar la tabla, limpar la seleccion en la tabla, limpiar el texto en el field de buscar y darle focus a ese campo
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.loadTable();
|
||||
this.view.getVentasTable().clearSelection();
|
||||
this.view.getBuscarField().setText("");
|
||||
this.view.getBuscarField().requestFocus();
|
||||
}
|
||||
|
||||
/**
|
||||
* Carga la tabla con todos los elementos que existen en el repositorio
|
||||
*/
|
||||
private void loadTable() {
|
||||
List<Venta> ventas = this.repository.getAll();
|
||||
this.loadTable(ventas);
|
||||
|
||||
@@ -47,6 +47,9 @@ public class VenderVenderController extends BaseController {
|
||||
this.setupListeners();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners para la vista
|
||||
*/
|
||||
private void setupListeners() {
|
||||
this.view.getAgregarButton().addActionListener(e -> this.agregar());
|
||||
this.view.getRemoverButton().addActionListener(e -> this.remover());
|
||||
@@ -54,6 +57,11 @@ public class VenderVenderController extends BaseController {
|
||||
this.view.getVenderButton().addActionListener(e -> this.vender());
|
||||
}
|
||||
|
||||
/**
|
||||
* Agrega el ejemplar seleccionado en el combobox a la tabla
|
||||
* <p>
|
||||
* Si no hay ninguno seleccionado o por alguna razon es nulo, mostrara un mensaje de error
|
||||
*/
|
||||
private void agregar() {
|
||||
if (this.view.getEjemplaresComboModel().getSize() == 0) {
|
||||
JOptionPane.showMessageDialog(
|
||||
@@ -80,6 +88,11 @@ public class VenderVenderController extends BaseController {
|
||||
this.updatePrice();
|
||||
}
|
||||
|
||||
/**
|
||||
* Remueve el ejemplar seleccionado en el combobox y lo agregara a la tabla
|
||||
* <p>
|
||||
* Si no hay ninguno seleccionado o no hay ninguno que agregar mostrara un mensaje de error
|
||||
*/
|
||||
private void remover() {
|
||||
if (this.view.getEjemplaresTableModel().getRowCount() == 0) {
|
||||
JOptionPane.showMessageDialog(
|
||||
@@ -99,6 +112,9 @@ public class VenderVenderController extends BaseController {
|
||||
this.updatePrice();
|
||||
}
|
||||
|
||||
/**
|
||||
* Realiza la venta despues de validar todos los datos Crea la venta, la boleta y cambia el estado de los ejemplares a "Vendido"
|
||||
*/
|
||||
private void vender() {
|
||||
Cliente cliente = (Cliente) this.view.getClienteCombo().getSelectedItem();
|
||||
ValidationResult clienteValidation = this.ventaValidator.validateCliente(cliente);
|
||||
@@ -141,6 +157,9 @@ public class VenderVenderController extends BaseController {
|
||||
this.parentController.showCard(PanelName.VENDER_SEARCH);
|
||||
}
|
||||
|
||||
/**
|
||||
* Actualiza el precio mostrado en los campos de precioNeto, Iva y PrecioBruto dado los ejemplares en la tabla
|
||||
*/
|
||||
private void updatePrice() {
|
||||
this.precioNeto = (float) this.view.getEjemplaresTableModel().getRows().stream()
|
||||
.mapToInt(ejemplar -> ejemplar.getLibro().getPrecioReferencia())
|
||||
@@ -153,6 +172,9 @@ public class VenderVenderController extends BaseController {
|
||||
this.view.getPrecioBrutoField().setText(String.valueOf(precioBruto));
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene el ejemplar seleccionado en la tabla Si no hay ninguno seleccionado retorana null y muestra un mensaje de error
|
||||
*/
|
||||
private Ejemplar getSelectedEjemplar() {
|
||||
int selectedRow = this.view.getEjemplaresTable().getSelectedRow();
|
||||
if (selectedRow == -1) {
|
||||
@@ -168,6 +190,12 @@ public class VenderVenderController extends BaseController {
|
||||
return this.view.getEjemplaresTableModel().getRow(selectedRow);
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo a ejecutar cuando se muestra la vista
|
||||
* <p>
|
||||
* En este caso se necesita rellenar la lista de clientes, la lista de ejemplares, limpiar la tabla, colocar ceros en los campos de precio y
|
||||
* resetear el precioNeto global
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
this.fillCliente();
|
||||
@@ -179,6 +207,9 @@ public class VenderVenderController extends BaseController {
|
||||
this.precioNeto = 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Llena el combobox de los clientes con todos los existentes en el repositorio
|
||||
*/
|
||||
private void fillCliente() {
|
||||
List<Cliente> cliente = this.clienteRepository.getAll();
|
||||
this.view.getClienteComboModel().removeAllElements();
|
||||
@@ -186,6 +217,9 @@ public class VenderVenderController extends BaseController {
|
||||
this.view.getClienteCombo().setSelectedIndex(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Llena el combobox de ejemplares con todos los existentes en el repositorio
|
||||
*/
|
||||
private void fillEjemplares() {
|
||||
Estado disponible = this.estadoRepository.getByNombre("Disponible");
|
||||
List<Ejemplar> ejemplares = this.ejemplarRepository.getByEstado(disponible);
|
||||
|
||||
@@ -18,10 +18,19 @@ public class VenderVerController extends BaseController {
|
||||
this.setupListener();
|
||||
}
|
||||
|
||||
/**
|
||||
* Crea los listeners para la vista
|
||||
*/
|
||||
private void setupListener() {
|
||||
this.view.getVolverButton().addActionListener(e -> this.parentController.showCard(PanelName.VENDER_SEARCH));
|
||||
}
|
||||
|
||||
/**
|
||||
* Metodo a ejecutar cuando se va a mostrar la vista
|
||||
* <p>
|
||||
* En este caso, cuando la venta no es nula, llena la tabla de ejemplares, coloca los precios, y rellena los datos de cliente, trabajador y folio,
|
||||
* segun los datos que tiene guardada la venta
|
||||
*/
|
||||
@Override
|
||||
public void show() {
|
||||
if (this.venta != null) {
|
||||
|
||||
@@ -228,4 +228,5 @@ public class ArrendarViewPanel extends BasePanel {
|
||||
public JComponent $$$getRootComponent$$$() {
|
||||
return contentPane;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user