KundenCkasse hinzugefügt

main
Tobias Heid 2022-11-07 10:37:07 +01:00
parent 44541d7255
commit e120626fad
6 changed files with 264 additions and 6 deletions

View File

@ -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<Integer, Konto> konten = new HashMap<>();
private ArrayList<Kunde> 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();
}
@ -39,4 +46,73 @@ public class Bank implements Serializable {
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;
}
}

View File

@ -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
}
}

View File

@ -17,6 +17,9 @@ public class Konto implements Serializable {
this.kontobewegungen = new ArrayList<>();
}
// find kontoInhaber details
public int getKontonummer() {
return nummer;
}

View File

@ -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<Konto> 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<Konto> getKonten() {
return Konten;
}
}

View File

@ -5,6 +5,7 @@ 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 {
@ -80,6 +81,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);
@ -92,4 +118,18 @@ 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());
}
}

View File

@ -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();
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);
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: ");