diff --git a/src/main/java/xyz/danielcortes/controllers/LaunchController.java b/src/main/java/xyz/danielcortes/controllers/LaunchController.java
index a3b75c8..c09af8e 100644
--- a/src/main/java/xyz/danielcortes/controllers/LaunchController.java
+++ b/src/main/java/xyz/danielcortes/controllers/LaunchController.java
@@ -351,19 +351,27 @@ public class LaunchController {
* @return JMenu con los MenuItem para acceder a las vistas.
*/
private JMenu createComprarMenu() {
- JMenu comprarMenu = new JMenu("Comprar");
+ JMenu comprarMenu = new JMenu("Compra, Venta y Arriendo");
JMenuItem comprarLibroItem = new JMenuItem("Comprar Libro");
+ JMenuItem venderLibroItem = new JMenuItem("Vender Libro");
+ JMenuItem arrendarLibroItem = new JMenuItem("Arrendar Libro");
- comprarLibroItem.addActionListener(e -> this.showCard(PanelName.COMPRAR_LIBRO));
+ comprarLibroItem.addActionListener(e -> this.showCard(PanelName.COMPRAR_SEARCH));
+ venderLibroItem.addActionListener(e -> this.showCard(PanelName.VENDER_SEARCH));
+ arrendarLibroItem.addActionListener(e -> this.showCard(PanelName.ARRENDAR_SEARCH));
- comprarMenu.add(comprarMenu);
+ comprarMenu.add(comprarLibroItem);
+ comprarMenu.add(venderLibroItem);
+ comprarMenu.add(arrendarLibroItem);
return comprarMenu;
}
/**
- * Muestra la Carta con el nombre entregado Llama al metodo show del controlador de la carta a mostrar
+ * Muestra la Carta con el nombre entregado
+ *
+ * Llama al metodo show del controlador de la carta a mostrar
*
* @param name PanelName de la Carta que se quiere mostrar.
*/
diff --git a/src/main/java/xyz/danielcortes/controllers/comprar/ComprarSearchController.java b/src/main/java/xyz/danielcortes/controllers/comprar/ComprarSearchController.java
new file mode 100644
index 0000000..47e91d8
--- /dev/null
+++ b/src/main/java/xyz/danielcortes/controllers/comprar/ComprarSearchController.java
@@ -0,0 +1,10 @@
+package xyz.danielcortes.controllers.comprar;
+
+import xyz.danielcortes.repository.CompraRepository;
+import xyz.danielcortes.views.comprar.ComprarSearchPanel;
+
+public class ComprarSearchController {
+
+ public ComprarSearchPanel view;
+ private CompraRepository repository;
+}
diff --git a/src/main/java/xyz/danielcortes/framework/BaseController.java b/src/main/java/xyz/danielcortes/framework/BaseController.java
index 0f34c20..5d3cba9 100644
--- a/src/main/java/xyz/danielcortes/framework/BaseController.java
+++ b/src/main/java/xyz/danielcortes/framework/BaseController.java
@@ -2,22 +2,47 @@ package xyz.danielcortes.framework;
import xyz.danielcortes.controllers.LaunchController;
+/**
+ * Controlador base que debe ser extendido por todos los controladores que se utilizen en la aplicacion
+ */
public abstract class BaseController {
+ /**
+ * El LaunchController que ejecuta este controlador
+ */
protected LaunchController parentController;
+ /**
+ * @param parentController LaunchController que ejecuta este controlador
+ */
public BaseController(LaunchController parentController) {
this.parentController = parentController;
}
+ /**
+ * @return LaunchController que ejecuta este controlador
+ */
public LaunchController getParentController() {
return this.parentController;
}
/**
* Este metodo sera llamado cada vez que se necesite mostrar la vista que contiene
+ *
+ * Aqui debe prepararse la vista para ser mostrada, procesos como: + *
requestFocus() en el componente que necesita tener foco al iniciarBasePanel que maneja el controlador
+ *
+ * @return BasePanel
+ */
public abstract BasePanel getView();
}
diff --git a/src/main/java/xyz/danielcortes/framework/PanelName.java b/src/main/java/xyz/danielcortes/framework/PanelName.java
index a94585f..6354f95 100644
--- a/src/main/java/xyz/danielcortes/framework/PanelName.java
+++ b/src/main/java/xyz/danielcortes/framework/PanelName.java
@@ -97,5 +97,13 @@ public enum PanelName {
CLIENTE_DIRECCION_CREATE,
CLIENTE_DIRECCION_UPDATE,
- COMPRAR_LIBRO,
+ COMPRAR_SEARCH,
+ COMPRAR_COMPRAR,
+
+ VENDER_SEARCH,
+ VENDER_VENDER,
+
+ ARRENDAR_SEARCH,
+ ARRENDAR_ARRENDAR,
+ ARRENDAR_RECIBIR,
}
diff --git a/src/main/java/xyz/danielcortes/models/Factura.java b/src/main/java/xyz/danielcortes/models/Factura.java
index b53de14..9f86ef7 100644
--- a/src/main/java/xyz/danielcortes/models/Factura.java
+++ b/src/main/java/xyz/danielcortes/models/Factura.java
@@ -67,6 +67,10 @@ public class Factura {
this.precioIVA = precioIVA;
}
+ public Integer getPrecioBruto() {
+ return this.precioNeto + this.precioIVA;
+ }
+
public LocalDate getFechaVenta() {
return this.fechaVenta;
}
diff --git a/src/main/java/xyz/danielcortes/repository/CompraRepository.java b/src/main/java/xyz/danielcortes/repository/CompraRepository.java
new file mode 100644
index 0000000..cd41287
--- /dev/null
+++ b/src/main/java/xyz/danielcortes/repository/CompraRepository.java
@@ -0,0 +1,25 @@
+package xyz.danielcortes.repository;
+
+import java.util.List;
+import javax.persistence.Query;
+import javax.persistence.TypedQuery;
+import xyz.danielcortes.framework.BaseRepository;
+import xyz.danielcortes.models.Compra;
+
+public class CompraRepository extends BaseRepository