diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoart.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoart.java index 8480685..cad2e68 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoart.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kontoart.java @@ -1,5 +1,5 @@ package de.hs_mannheim.informatik.bank.domain; public enum Kontoart { - Sparkonto, Girokonto, Tagesgeldkonto, Depot + Sparkonto, Girokonto, Depot } 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 530c033..c242021 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 @@ -97,6 +97,21 @@ public class Banksystem { return konto.getKontobewegungen(); } + public Kontoart checkKontoart(int kontonummer){ + Konto konto = bank.findeKonto(kontonummer); + + if(konto instanceof Girokonto){ + return Kontoart.Girokonto; + } + else if(konto instanceof Depot){ + return Kontoart.Depot; + } + else{ + return Kontoart.Sparkonto; + } + + } + public boolean überweisungBeauftragen(int startkonto, int zielkonto, long betrag, String verwendungszweck) throws IOException { Konto start = bank.findeKonto(startkonto); diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/tui/TUI.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/tui/TUI.java index f251f7f..9b2aae0 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/tui/TUI.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/tui/TUI.java @@ -26,14 +26,9 @@ public class TUI { System.out.println("1 -> Login"); System.out.println("2 -> Konto anlegen"); System.out.println("3 -> Konten anzeigen"); - System.out.println("4 -> Geld einzahlen"); - System.out.println("5 -> Geld auszahlen"); - System.out.println("6 -> Kontoauszug drucken"); - System.out.println("7 -> Überweisung beauftragen"); - System.out.println("8 -> Saldo abfragen"); - System.out.println("9 -> Aktien kaufen"); + System.out.println("4 -> Konto auswählen"); - System.out.println("10 -> Beenden"); + System.out.println("5 -> Beenden"); System.out.println(); System.out.print("> "); @@ -55,24 +50,10 @@ public class TUI { kontenAnzeigen(); break; case 4: - geldEinzahlen(); + kontoAuswählen(); break; + case 5: - geldAuszahlen(); - break; - case 6: - kontoauszugDrucken(); - break; - case 7: - überweisungBeauftragen(); - break; - case 8: - saldoAbfragen(); - break; - case 9: - aktienKaufen(); - break; - case 10: break mainloop; } @@ -86,6 +67,189 @@ public class TUI { } // hauptmenü + private void kontoAuswählen(){ + + boolean running = true; + + kontenAnzeigen(); + System.out.println("Bitte geben Sie die Kontonummer ihres Kontos ein mit dem Sie weiterarbeiten wollen"); + int kontonummer = Integer.parseInt(sc.nextLine()); + + + if(bs.checkKontoart(kontonummer).equals(Kontoart.Sparkonto)){ + + if(bs.getKonten().containsKey(kontonummer)){ + + while(running){ + + System.out.println("--------"); + System.out.println("Kontomenü"); + System.out.println("0 -> Geld einzahlen"); + System.out.println("1 -> Geld auszahlen"); + System.out.println("2 -> Kontoauszug drucken"); + System.out.println("3 -> Saldo abfragen"); + System.out.println("4 -> Zurück zum Hauptmenü"); + + System.out.print("> "); + int input = Integer.parseInt(sc.nextLine()); + System.out.println(); + + try { + + switch (input) { + case 0: + geldEinzahlen(); + break; + case 1: + geldAuszahlen(); + break; + case 2: + kontoauszugDrucken(); + break; + case 3: + saldoAbfragen(); + break; + case 4: + running = false; + break; + } + + } catch (Exception e) { + System.err.println(e.getLocalizedMessage()); + } + + System.out.println(); + + } + + } else { + System.out.println("Kontonummer nicht gefunden"); + } + + } + + + else if (bs.checkKontoart(kontonummer).equals(Kontoart.Girokonto)){ + + if(bs.getKonten().containsKey(kontonummer)){ + + while(running) { + + System.out.println("--------"); + System.out.println("Kontomenü"); + System.out.println("0 -> Geld einzahlen"); + System.out.println("1 -> Geld auszahlen"); + System.out.println("2 -> Kontoauszug drucken"); + System.out.println("3 -> Überweisung beauftragen"); + System.out.println("4 -> Saldo abfragen"); + System.out.println("5 -> Zurück zum Hauptmenü"); + System.out.println(); + + System.out.print("> "); + int input = Integer.parseInt(sc.nextLine()); + System.out.println(); + + try { + switch (input) { + case 0: + geldEinzahlen(); + break; + case 1: + geldAuszahlen(); + break; + case 2: + kontoauszugDrucken(); + break; + case 3: + überweisungBeauftragen(); + break; + case 4: + saldoAbfragen(); + break; + case 5: + running = false; + break; + } + + } catch (Exception e) { + System.err.println(e.getLocalizedMessage()); + } + System.out.println(); + + } + + + } else { + System.out.println("Kontonummer nicht gefunden"); + } + + } + + else if (bs.checkKontoart(kontonummer).equals(Kontoart.Depot)){ + + if(bs.getKonten().containsKey(kontonummer)){ + + while(running) { + + System.out.println("--------"); + System.out.println("Kontomenü"); + System.out.println("0 -> Geld einzahlen"); + System.out.println("1 -> Geld auszahlen"); + System.out.println("2 -> Kontoauszug drucken"); + System.out.println("3 -> Überweisung beauftragen"); + System.out.println("4 -> Saldo abfragen"); + System.out.println("5 -> Aktien kaufen"); + System.out.println("6 -> Zurück zum Hauptmenü"); + System.out.println(); + + System.out.print("> "); + int input = Integer.parseInt(sc.nextLine()); + System.out.println(); + + try { + switch (input) { + case 0: + geldEinzahlen(); + break; + case 1: + geldAuszahlen(); + break; + case 2: + kontoauszugDrucken(); + break; + case 3: + überweisungBeauftragen(); + break; + case 4: + saldoAbfragen(); + break; + case 5: + aktienKaufen(); + break; + case 6: + running = false; + break; + } + + } catch (Exception e) { + System.err.println(e.getLocalizedMessage()); + } + System.out.println(); + + } + + + } else { + System.out.println("Kontonummer nicht gefunden"); + } + + + } else { + System.out.println("Kontonummer nicht gefunden"); + } + + } + private void aktienKaufen() {