diff --git a/Bank-Beispiel/Spaßkasse Mannheim-bank-data.ser b/Bank-Beispiel/Spaßkasse Mannheim-bank-data.ser index 75f7b73..b2f4370 100644 Binary files a/Bank-Beispiel/Spaßkasse Mannheim-bank-data.ser and b/Bank-Beispiel/Spaßkasse Mannheim-bank-data.ser differ diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Girokonto.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Girokonto.java index 38c9cd6..2ccbc70 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Girokonto.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Girokonto.java @@ -3,15 +3,37 @@ package de.hs_mannheim.informatik.bank.domain; import java.io.Serializable; public class Girokonto extends Konto implements Serializable { - + private long dispokredit; public Girokonto(String inhaber, int kontozähler) { super(inhaber, kontozähler); + this.dispokredit = 1000; } + public long getDispo() { + return dispokredit; + } + + public void setDispo(long i) { + dispokredit = dispokredit + i; + } + + public boolean überweise(Girokonto ziel, long betrag, String zweck) { + if (super.getKontostand() - betrag >= 0) { + if (super.getKontostand()+dispokredit - betrag >= 0) { + this.dispokredit = dispokredit + (super.getKontostand()-betrag); + this.auszahlen(betrag, zweck, "Überweisungsausgang", super.getInhaber()); + ziel.einzahlen(betrag, zweck, "Überweisungseingang", super.getInhaber()); + + return true; + } + + + }return false; + } - public boolean überweise(Girokonto ziel, long betrag, String zweck) { + /*public boolean überweise(Girokonto ziel, long betrag, String zweck) { if (super.getKontostand() - betrag >= 0) { this.auszahlen(betrag, zweck, "Überweisungsausgang", super.getInhaber()); ziel.einzahlen(betrag, zweck, "Überweisungseingang", super.getInhaber()); @@ -20,7 +42,7 @@ public class Girokonto extends Konto implements Serializable { } return false; - } + }*/ @Override public String toString() { diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java index 7fb5102..8d994b8 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Konto.java @@ -45,7 +45,7 @@ public class Konto implements Serializable { public boolean auszahlen(long betrag, String zweck, String art, String auftraggeber) { - + System.out.println("Bin hier!0"); if (stand - betrag >= 0) { stand -= betrag; @@ -57,6 +57,35 @@ public class Konto implements Serializable { return false; } + public boolean auszahlen(long betrag, String zweck, String art, String auftraggeber, Konto k) { + long t = ((stand-betrag));//((Girokonto)k).getDispo()) + System.out.println("Hello"+betrag/100+((t/100)+((Girokonto)k).getDispo())); + if (stand - betrag >= 0) { + System.out.println("Bin hier!1"); + + stand -= betrag; + + kontobewegungen.add(new Kontobewegung(betrag * -1, zweck, art, auftraggeber)); + + return true; + } + + + + else if ((t/100)+(((Girokonto)k).getDispo()) >= 0) { + System.out.println("Bin hier!2"); + ((Girokonto)k).setDispo((stand-betrag)/100); + stand=0; + System.out.println("Hoi"+((Girokonto) k).getDispo()); + kontobewegungen.add(new Kontobewegung(betrag * -1, zweck, art, auftraggeber)); + + return true; + } + + return false; + + } + diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java index 38abfff..71676e4 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/facade/Banksystem.java @@ -49,14 +49,24 @@ public class Banksystem { return konto.getKontostand(); } + public boolean geldAuszahlen(int kontonummer, long betrag) throws Exception { Konto konto = bank.findeKonto(kontonummer); - Persistenz.speichereBankDaten(this.bank, bank.getName()); + + + if(konto instanceof Girokonto) { + System.out.println("Bin hier!"); + Persistenz.speichereBankDaten(this.bank, bank.getName()); + return konto.auszahlen(betrag, "Auszahlung am Schalter", "Auszahlung", konto.getInhaber(), konto); + } + else { + Persistenz.speichereBankDaten(this.bank, bank.getName()); + return konto.auszahlen(betrag, "Auszahlung am Schalter", "Auszahlung", konto.getInhaber()); + } - return konto.auszahlen(betrag, "Auszahlung am Schalter", "Auszahlung", konto.getInhaber()); diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java index 2827757..5ce5ca4 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/ui/UI.java @@ -61,6 +61,8 @@ public class UI { } // hauptmenü + + private void saldoAnzeigen() { System.out.println("Kontonummer eingeben: "); int auswahl = Integer.parseInt(sc.nextLine());