diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java index 285d08d..f2e077b 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Bank.java @@ -92,5 +92,9 @@ public class Bank implements Serializable { return k.getKonten(); } + public Long getAktienPreis(String aktienName){ + return Aktie.getAktienkurs(aktienName); + } + } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Depot.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Depot.java index efac313..c565bf0 100644 --- a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Depot.java +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Depot.java @@ -1,10 +1,13 @@ package de.hs_mannheim.informatik.bank.domain; - +import java.util.HashMap; public class Depot extends Konto{ + private HashMap aktienMap = new HashMap(); + + public Depot(Kunde kunde, int kontozähler) { super(kunde, kontozähler); } @@ -14,12 +17,12 @@ public class Depot extends Konto{ return "Depot mit der Kontonummer " + super.getKontonummer() + " angelegt."; } - public boolean auszahlen(int auswahl, String aktienName){ + public boolean aktienAuszahlung(int auswahl, String aktienName){ - if (stand - auswahl * Aktie.getAktienkurs(aktienName) >= 0) { - stand -= auswahl * (Aktie.getAktienkurs(aktienName)); + if (stand - (auswahl * Aktie.getAktienkurs(aktienName)) >= 0) { + stand -= (auswahl * Aktie.getAktienkurs(aktienName)); - kontobewegungen.add(new Kontobewegung(auswahl * Aktie.getAktienkurs(aktienName) * -1, "Aktienkauf", "Aktienkauf", super.getKunde().getName())); + kontobewegungen.add(new Kontobewegung((auswahl * Aktie.getAktienkurs(aktienName)) * -1, "Aktienkauf", "Aktienkauf", super.getKunde().getName())); return true; } @@ -29,8 +32,9 @@ public class Depot extends Konto{ return false; } + public void addAktieToMap(int anzahl, String aktienName){ + aktienMap.put(anzahl, aktienName); + } - - } 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 cb4f7bb..530c033 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 @@ -167,27 +167,28 @@ public class Banksystem { return bank.getKundenzähler(); } - // public boolean aktienKauf(int kontonummer){ - // Konto konto = bank.findeKonto(kontonummer); - - // if(konto instanceof Depot){ + public Long getAktienPreis(String aktienName){ + return bank.getAktienPreis(aktienName); + } + public boolean aktienKauf(int kontonummer, int anzahl, String aktienName){ + + Konto konto = bank.findeKonto(kontonummer); + + if(konto instanceof Depot){ + + boolean erg = ((Depot) konto).aktienAuszahlung(anzahl, aktienName); + return erg; + + } - // } - - - - - - // return false; - // } - - + return false; + } } 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 48ac0d1..f251f7f 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 @@ -31,8 +31,9 @@ public class TUI { 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("9 -> Beenden"); + System.out.println("10 -> Beenden"); System.out.println(); System.out.print("> "); @@ -69,6 +70,9 @@ public class TUI { saldoAbfragen(); break; case 9: + aktienKaufen(); + break; + case 10: break mainloop; } @@ -83,6 +87,28 @@ public class TUI { } // hauptmenü + private void aktienKaufen() { + + System.out.println("Aktien kaufen"); + System.out.println("Bitte geben Sie die Kontonummer ein: "); + int kontonummer = Integer.parseInt(sc.nextLine()); + + System.out.println("Folgende Aktien sind Verfügbar"); + System.out.println("1 -> Deutsche Bank AG (DBK.DE)\n2 -> Deere & Company (DCO.DE)"); + System.out.println("Bitte geben Sie den Namen in Klammern ein um den Preis zu sehen:"); + String aktienName = sc.nextLine(); + + System.out.println("Preis der Aktie"); + System.out.println(bs.getAktienPreis(aktienName)); + + System.out.println("Bitte geben Sie die Anzahl der Aktien ein, die Sie kaufen möchten: "); + int anzahl = Integer.parseInt(sc.nextLine()); + + boolean erg = bs.aktienKauf(kontonummer, anzahl, aktienName); + System.out.printf("Aktienkauf" + ((!erg)? " nicht" : "" ) + " erfolgreich. "); + + } + private void kontoAnlegen() throws IOException{ System.out.println("Bitte geben Sie Ihre Kunden ID ein: "); System.out.println("> ");