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 27aeb58..f0f7459 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 @@ -1,12 +1,15 @@ package de.hs_mannheim.informatik.bank.domain; import java.io.Serializable; +import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; public class Bank implements Serializable { private String name; private HashMap konten = new HashMap<>(); + private ArrayList kunden = new ArrayList<>(); + private int kontozähler; public Bank(String name) { @@ -16,6 +19,8 @@ public class Bank implements Serializable { public int addKonto(String name, int auswahl) { Konto k; + Kunde kunde; + if (auswahl == 1) k = new Konto(name, ++kontozähler); @@ -24,6 +29,8 @@ public class Bank implements Serializable { konten.put(k.getKontonummer(), k); + + return k.getKontonummer(); } @@ -38,5 +45,74 @@ public class Bank implements Serializable { public Konto findeKonto(int kontonummer) { return konten.get(kontonummer); } + + public void addKunde(String name, int alter, String adresse) { + + Kunde k = new Kunde(name ,alter,adresse); + kunden.add(k); + + } + + + public Kunde findKunde(String name) { + + Kunde kunde = null; + + + for ( Kunde k : kunden) { + + + if(k.getNamen().equals(name)) { + + return kunde = k; + + }else{ + + + } + + } + + return kunde; + + + + + } + + + + + public void addKontozuKundenKontoListe(Konto konto ,Kunde kunde) { + + + kunde.addKontoToKunde(konto); + + } + + + + // neue mthode; + public boolean kundeExistst(String name) { + + boolean chack = false; + + + for ( Kunde k : kunden) { + + + if(k.getNamen().equals(name)) { + + return chack = true; + }else{ + + chack = false; + } + + } + + return chack; + + } } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Depo.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Depo.java new file mode 100644 index 0000000..3801cff --- /dev/null +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Depo.java @@ -0,0 +1,10 @@ +package de.hs_mannheim.informatik.bank.domain; + +public class Depo extends Girokonto { + + public Depo(String inhaber, int kontozähler) { + super(inhaber, kontozähler); + // TODO Auto-generated constructor stub + } + +} 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 e787df5..0f26f08 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 @@ -17,6 +17,9 @@ public class Konto implements Serializable { this.kontobewegungen = new ArrayList<>(); } + // find kontoInhaber details + + public int getKontonummer() { return nummer; } diff --git a/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kunde.java b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kunde.java new file mode 100644 index 0000000..4aaed4d --- /dev/null +++ b/Bank-Beispiel/src/de/hs_mannheim/informatik/bank/domain/Kunde.java @@ -0,0 +1,70 @@ +package de.hs_mannheim.informatik.bank.domain; + +import java.io.Serializable; +import java.util.ArrayList; +import java.util.HashMap; + +public class Kunde implements Serializable { + + private String namen; + + private int alter; + + private String adresse; + + ArrayList Konten = new ArrayList<>(); + + + public Kunde(String name, int alter,String adresse ) { + + this.namen = name; + this.alter = alter; + this.adresse = adresse; + + } + + + + // show konto details - ( liste aller konten ) + + // go to Konto - ( gehe zum konto um die sachen zu machen ) + + + + public void addKontoToKunde(Konto konto) { + + Konten.add(konto); + } + + + public String getNamen() { + return namen; + } + + + public int getAlter() { + return alter; + } + + + public String getAdresse() { + return adresse; + } + + + public ArrayList getKonten() { + return Konten; + } + + + + + + + + + + + + +} 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 5ff5144..2413e5a 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 @@ -5,9 +5,10 @@ import java.util.Collection; import de.hs_mannheim.informatik.bank.domain.Bank; import de.hs_mannheim.informatik.bank.domain.Girokonto; import de.hs_mannheim.informatik.bank.domain.Konto; +import de.hs_mannheim.informatik.bank.domain.Kunde; import de.hs_mannheim.informatik.bank.infrastructure.Persistenz; -public class Banksystem { +public class Banksystem { private Bank bank; public Banksystem(String bankname) throws Exception { @@ -79,6 +80,31 @@ public class Banksystem { return false; } + + + // neu + + public boolean checkIfKundeIsNew(String name) { + + boolean check = false; + + if(bank.kundeExistst(name)) { + + return check = true; + }else{ + + return check; + } + } + + public void neuKundeAnlegen(String name, int alter, String adresse) throws Exception { + + bank.addKunde(name,alter,adresse); + + Persistenz.speichereBankDaten(this.bank, bank.getName()); + } + + public long getKontostand(int kontonummer) { Konto konto = bank.findeKonto(kontonummer); @@ -91,5 +117,19 @@ public class Banksystem { return konto.berechneSaldo(anzahl); } + + + public void neuesKontoKundeHinzufügen(int kontonummer, String name) throws Exception { + + Konto konto = bank.findeKonto(kontonummer); + + Kunde kunde = bank.findKunde(name); + + bank.addKontozuKundenKontoListe(konto, kunde); + + Persistenz.speichereBankDaten(this.bank, bank.getName()); + + } + } 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 3f10d79..2922f42 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 @@ -60,6 +60,13 @@ public class UI { } // hauptmenü + + + + + + + private void kontenAnzeigen() { String[] konten = bs.getKontenliste(); if (konten.length > 0) { @@ -73,16 +80,68 @@ public class UI { } private void kontoAnlegen() throws Exception { - System.out.println("Bitte den Namen des Kontoinhabers angeben: "); + + System.out.println("Bitte den Vor- und Nachnamen des Kontoinhabers angeben: "); + System.out.println("-- Trennung erfolg mit einem Leerzeichen --"); String name = sc.nextLine(); - System.out.println("Möchten Sie ein Sparkonto (1) oder ein Girokonto (2) anlegen?"); - int auswahl = Integer.parseInt(sc.nextLine()); + if(bs.checkIfKundeIsNew(name) == false ) { + + System.out.println("Hallo, " + name + " sie sind neu bei uns neu, wir müssen sie erst im System anlegen "); + System.out.println(); + + + System.out.println("Wie alt sind sie: "); + int alter = Integer.parseInt(sc.nextLine()); + + System.out.println("Wie lautet ihre adresse: "); + System.out.println("-- Trennung erfolg mit einem Leerzeichen --"); + String adresse = sc.nextLine(); + + + // neuen kunde anlegen + bs.neuKundeAnlegen(name,alter,adresse); + + + System.out.println("Vielen dank für ihren angaben was wollen sie nun tun? "); + System.out.println(); + + + System.out.println("Möchten Sie ein Sparkonto (1) oder ein Girokonto (2) anlegen?"); + int auswahl = Integer.parseInt(sc.nextLine()); - int kontonummer = bs.kontoAnlegen(name, auswahl); - System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt."); + int kontonummer = bs.kontoAnlegen(name, auswahl); + bs.neuesKontoKundeHinzufügen(kontonummer ,name); + + + System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt."); + + + } else { + + System.out.println("Hallo, " + name +" sie sind bereits Kunde was wollen sie tun: "); + System.out.println(); + System.out.println("Möchten Sie ein Sparkonto (1) oder ein Girokonto (2) anlegen?"); + int auswahl = Integer.parseInt(sc.nextLine()); + + int kontonummer = bs.kontoAnlegen(name, auswahl); + bs.neuesKontoKundeHinzufügen(kontonummer ,name); + System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt."); + + } + } + + + + + + + + + + private void geldEinzahlen() throws Exception { System.out.println("Geld einzahlen"); System.out.print("Bitte die gewünschte Kontonummer eingeben: ");