diff --git a/bank-war/src/java/bean/ClienteBean.java b/bank-war/src/java/bean/ClienteBean.java
index 7f61f4b..a122bf2 100644
--- a/bank-war/src/java/bean/ClienteBean.java
+++ b/bank-war/src/java/bean/ClienteBean.java
@@ -180,6 +180,14 @@ public class ClienteBean implements Serializable {
tdb.setTarjetaDebito(cliente.getTarjetaDebito());
return "admin_tarjeta_debito_view";
}
+
+ public String gotoAdminViewTarjetaCredito() {
+ FacesContext context = FacesContext.getCurrentInstance();
+ TarjetaCreditoBean tcb = context.getApplication().evaluateExpressionGet(context, "#{tarjetaCreditoBean}", TarjetaCreditoBean.class);
+ tcb.setCliente(cliente);
+ tcb.setTarjetaCredito(cliente.getTarjetaCredito());
+ return "admin_tarjeta_credito_view";
+ }
private void resetInput() {
diff --git a/bank-war/src/java/bean/CompraBean.java b/bank-war/src/java/bean/CompraBean.java
index b72cd71..6c3dd0d 100644
--- a/bank-war/src/java/bean/CompraBean.java
+++ b/bank-war/src/java/bean/CompraBean.java
@@ -119,12 +119,30 @@ public class CompraBean implements Serializable {
}
public String deleteCompraTarjetaCredito() {
+ if (compraTarjetaCredito.getTipo().equals("Nacional")) {
+ if (tarjetaCredito.getDeudaNacional() - compraTarjetaCredito.getMonto() < 0) {
+ FacesContext context = FacesContext.getCurrentInstance();
+ context.addMessage(null, new FacesMessage("Eliminar el pago dejaria la deuda nacional en negativo"));
+ context.validationFailed();
+ return "admin_tarjeta_credito_delete_compra";
+ }
+ }
+ if (compraTarjetaCredito.getTipo().equals("Internacional")) {
+ if (tarjetaCredito.getDeudaInternacional() - compraTarjetaCredito.getMonto() < 0) {
+ FacesContext context = FacesContext.getCurrentInstance();
+ context.addMessage(null, new FacesMessage("Eliminar el pago dejaria la deuda internacional en negativo"));
+ context.validationFailed();
+ return "admin_tarjeta_credito_delete_compra";
+ }
+ }
+
+
switch (compraTarjetaCredito.getTipo()) {
case "Nacional":
- tarjetaCredito.setDeudaNacional(tarjetaCredito.getDeudaNacional() + compraTarjetaCredito.getMonto());
+ tarjetaCredito.setDeudaNacional(tarjetaCredito.getDeudaNacional() - compraTarjetaCredito.getMonto());
break;
case "Internacional":
- tarjetaCredito.setDeudaInternacional(tarjetaCredito.getDeudaInternacional() + compraTarjetaCredito.getMonto());
+ tarjetaCredito.setDeudaInternacional(tarjetaCredito.getDeudaInternacional() - compraTarjetaCredito.getMonto());
break;
}
diff --git a/bank-war/src/java/bean/PagoBean.java b/bank-war/src/java/bean/PagoBean.java
index 11e89c7..04c51ac 100644
--- a/bank-war/src/java/bean/PagoBean.java
+++ b/bank-war/src/java/bean/PagoBean.java
@@ -21,6 +21,7 @@ public class PagoBean implements Serializable {
private TarjetaCreditoFacadeLocal tarjetaCreditoFacade;
private TarjetaCredito tarjetaCredito;
+ private PagoTarjetaCredito pagoTarjetaCredito;
private int monto;
private String comentario;
@@ -78,6 +79,23 @@ public class PagoBean implements Serializable {
this.resetInput();
return "cliente_tarjeta_credito_view";
}
+
+ public String deletePago() {
+ switch (pagoTarjetaCredito.getTipo()) {
+ case "Nacional":
+ tarjetaCredito.setDeudaNacional(tarjetaCredito.getDeudaNacional() + pagoTarjetaCredito.getMonto());
+ break;
+ case "Internacional":
+ tarjetaCredito.setDeudaInternacional(tarjetaCredito.getDeudaInternacional() + pagoTarjetaCredito.getMonto());
+ break;
+ }
+
+ tarjetaCredito.getPagoList().remove(pagoTarjetaCredito);
+ pagoTarjetaCreditoFacade.remove(pagoTarjetaCredito);
+ tarjetaCreditoFacade.edit(tarjetaCredito);
+
+ return "admin_tarjeta_credito_view";
+ }
public void resetInput() {
this.monto = 0;
@@ -117,4 +135,11 @@ public class PagoBean implements Serializable {
this.tipo = tipo;
}
+ public PagoTarjetaCredito getPagoTarjetaCredito() {
+ return pagoTarjetaCredito;
+ }
+
+ public void setPagoTarjetaCredito(PagoTarjetaCredito pagoTarjetaCredito) {
+ this.pagoTarjetaCredito = pagoTarjetaCredito;
+ }
}
diff --git a/bank-war/src/java/bean/TarjetaCreditoBean.java b/bank-war/src/java/bean/TarjetaCreditoBean.java
index b882f75..eb8feed 100644
--- a/bank-war/src/java/bean/TarjetaCreditoBean.java
+++ b/bank-war/src/java/bean/TarjetaCreditoBean.java
@@ -3,6 +3,8 @@ package bean;
import beans.ClienteFacadeLocal;
import beans.TarjetaCreditoFacadeLocal;
import entities.Cliente;
+import entities.CompraTarjetaCredito;
+import entities.PagoTarjetaCredito;
import entities.TarjetaCredito;
import java.io.Serializable;
import java.util.Date;
@@ -46,6 +48,13 @@ public class TarjetaCreditoBean implements Serializable {
cb.setTarjetaCredito(tarjetaCredito);
return "cliente_tarjeta_credito_comprar";
}
+ public String gotoDeleteCompra(CompraTarjetaCredito compra) {
+ FacesContext context = FacesContext.getCurrentInstance();
+ CompraBean cb = context.getApplication().evaluateExpressionGet(context, "#{compraBean}", CompraBean.class);
+ cb.setTarjetaCredito(tarjetaCredito);
+ cb.setCompraTarjetaCredito(compra);
+ return "admin_tarjeta_credito_delete_compra";
+ }
public String gotoPagar() {
FacesContext context = FacesContext.getCurrentInstance();
@@ -53,6 +62,15 @@ public class TarjetaCreditoBean implements Serializable {
pb.setTarjetaCredito(tarjetaCredito);
return "cliente_tarjeta_credito_pagar";
}
+
+ public String gotoDeletePago(PagoTarjetaCredito pago) {
+ FacesContext context = FacesContext.getCurrentInstance();
+ PagoBean pb = context.getApplication().evaluateExpressionGet(context, "#{pagoBean}", PagoBean.class);
+ pb.setTarjetaCredito(tarjetaCredito);
+ pb.setPagoTarjetaCredito(pago);
+ return "admin_tarjeta_credito_delete_pago";
+
+ }
public String edit() {
tarjetaCreditoFacade.edit(tarjetaCredito);
diff --git a/bank-war/web/admin_cliente_view.xhtml b/bank-war/web/admin_cliente_view.xhtml
index 2b265e9..c483edf 100644
--- a/bank-war/web/admin_cliente_view.xhtml
+++ b/bank-war/web/admin_cliente_view.xhtml
@@ -167,7 +167,7 @@