Skip to content
Snippets Groups Projects
Commit 3f219ab7 authored by jonschi's avatar jonschi
Browse files

hecho modelos cuenta y transaccion

parent eb98c26c
Branches
No related tags found
No related merge requests found
......@@ -5,7 +5,7 @@
package componentes;
import javax.swing.JFrame;
import modelo.Modelo;
import modelo.Cuenta;
import vista.VistaLogin;
/**
......@@ -14,10 +14,10 @@ import vista.VistaLogin;
*/
public class StateMachine {
private JFrame currentState;
private Modelo modelo;
private Cuenta modelo;
public StateMachine() {
modelo = new Modelo();
modelo = new Cuenta();
abrirVentanaLogin();
}
......
package modelo;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
*
* @author jonas.schiefner
*/
public class Cuenta {
private String pin;
private int saldo;
private String iban;
List<Transaccion> transaccionesInicializadas;
List<Transaccion> transaccionesEntrantes;
public Cuenta(String pin, int saldo, String iban) {
this.pin = pin;
this.saldo = saldo;
this.iban = iban;
this.transaccionesInicializadas = new ArrayList<Transaccion>();
this.transaccionesEntrantes = new ArrayList<Transaccion>();
}
public String getPin() {
return pin;
}
public int getSaldo() {
return saldo;
}
public String getIban() {
return iban;
}
public List<Transaccion> getTransaccionesInicializadas() {
return transaccionesInicializadas;
}
public List<Transaccion> getTransaccionesEntrantes() {
return transaccionesEntrantes;
}
public Boolean retirarDinero(int saldo) {
if (saldo > this.saldo || saldo % 10 != 0) {
return false;
}
Transaccion transaccion = new Transaccion(this, null, saldo, new Date());
transaccionesInicializadas.add(transaccion);
this.saldo -= saldo;
return true;
}
public Boolean inicializarTransaccion(Cuenta destino, int saldo) {
if (saldo > this.saldo || saldo % 10 != 0) {
return false;
}
Transaccion transaccion = new Transaccion(this, destino, saldo, new Date());
transaccionesInicializadas.add(transaccion);
destino.aplicarTransaccionEntrante(transaccion);
this.saldo -= saldo;
return true;
}
public void aplicarTransaccionEntrante(Transaccion transaccion) {
transaccionesEntrantes.add(transaccion);
this.saldo += transaccion.getSaldo();
}
public void anadirTransaccionInicializada(Transaccion transaccion) {
transaccionesInicializadas.add(transaccion);
}
public void anadirTransaccionEntrante(Transaccion transaccion) {
transaccionesEntrantes.add(transaccion);
}
}
package modelo;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
*
* @author jonas.schiefner
*/
public class Datos {
private static List<Cuenta> cuentas;
public static List<Cuenta> getCuentasIniciales() {
if (cuentas != null) {
return cuentas;
}
Cuenta cuentaPablo = new Cuenta("1111", 110, "ES12 3456");
Cuenta cuentaJonas = new Cuenta("2222", 100, "DE12 3456");
Transaccion transaccionPabloJonas = new Transaccion(cuentaPablo, cuentaJonas, 10, new Date());
cuentaPablo.anadirTransaccionInicializada(transaccionPabloJonas);
cuentaJonas.anadirTransaccionEntrante(transaccionPabloJonas);
Transaccion transaccionJonasPablo = new Transaccion(cuentaJonas, cuentaPablo, 30, new Date());
cuentaJonas.anadirTransaccionInicializada(transaccionJonasPablo);
cuentaPablo.anadirTransaccionEntrante(transaccionJonasPablo);
Transaccion retiradoPablo = new Transaccion(cuentaPablo, null, 20, new Date());
cuentaPablo.anadirTransaccionInicializada(retiradoPablo);
Transaccion retiradoJonas = new Transaccion(cuentaJonas, null, 50, new Date());
cuentaJonas.anadirTransaccionInicializada(retiradoJonas);
cuentas = new ArrayList<>(2);
cuentas.add(cuentaPablo);
cuentas.add(cuentaJonas);
return cuentas;
}
public static Cuenta findCuentaConPin(String pin) {
Cuenta resultado = null;
for (Cuenta cuenta : getCuentasIniciales()) {
if (cuenta.getPin().equals(pin)) {
resultado = cuenta;
break;
}
}
return resultado;
}
}
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package modelo;
/**
*
* @author jonas.schiefner
*/
public class Modelo {
}
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/Classes/Class.java to edit this template
*/
package modelo;
import java.util.Date;
/**
*
* @author jonas.schiefner
*/
public class Transaccion {
private Cuenta inicora;
private Cuenta destino;
private int saldo;
private Date fecha;
public Transaccion(Cuenta inicora, Cuenta destino, int saldo, Date fecha) {
this.inicora = inicora;
this.destino = destino;
this.saldo = saldo;
this.fecha = fecha;
}
public Cuenta getInicora() {
return inicora;
}
public Cuenta getDestino() {
return destino;
}
public int getSaldo() {
return saldo;
}
public Date getFecha() {
return fecha;
}
}
......@@ -4,19 +4,19 @@
*/
package vista;
import modelo.Modelo;
import modelo.Cuenta;
/**
*
* @author jonas.schiefner
*/
public class VistaLogin extends javax.swing.JFrame {
private Modelo modelo;
private Cuenta modelo;
/**
* Creates new form VistaPin
*/
public VistaLogin(Modelo modelo) {
public VistaLogin(Cuenta modelo) {
initComponents();
this.modelo = modelo;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment