Compare commits

...

1 Commits
main ... main

Author SHA1 Message Date
Tobias Heid e120626fad KundenCkasse hinzugefügt 2022-11-07 10:37:07 +01:00
6 changed files with 264 additions and 6 deletions

View File

@ -1,12 +1,15 @@
package de.hs_mannheim.informatik.bank.domain; package de.hs_mannheim.informatik.bank.domain;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection; import java.util.Collection;
import java.util.HashMap; import java.util.HashMap;
public class Bank implements Serializable { public class Bank implements Serializable {
private String name; private String name;
private HashMap<Integer, Konto> konten = new HashMap<>(); private HashMap<Integer, Konto> konten = new HashMap<>();
private ArrayList<Kunde> kunden = new ArrayList<>();
private int kontozähler; private int kontozähler;
public Bank(String name) { public Bank(String name) {
@ -16,6 +19,8 @@ public class Bank implements Serializable {
public int addKonto(String name, int auswahl) { public int addKonto(String name, int auswahl) {
Konto k; Konto k;
Kunde kunde;
if (auswahl == 1) if (auswahl == 1)
k = new Konto(name, ++kontozähler); k = new Konto(name, ++kontozähler);
@ -24,6 +29,8 @@ public class Bank implements Serializable {
konten.put(k.getKontonummer(), k); konten.put(k.getKontonummer(), k);
return k.getKontonummer(); return k.getKontonummer();
} }
@ -38,5 +45,74 @@ public class Bank implements Serializable {
public Konto findeKonto(int kontonummer) { public Konto findeKonto(int kontonummer) {
return konten.get(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;
}
} }

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<>(); this.kontobewegungen = new ArrayList<>();
} }
// find kontoInhaber details
public int getKontonummer() { public int getKontonummer() {
return nummer; 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,9 +5,10 @@ import java.util.Collection;
import de.hs_mannheim.informatik.bank.domain.Bank; import de.hs_mannheim.informatik.bank.domain.Bank;
import de.hs_mannheim.informatik.bank.domain.Girokonto; import de.hs_mannheim.informatik.bank.domain.Girokonto;
import de.hs_mannheim.informatik.bank.domain.Konto; import de.hs_mannheim.informatik.bank.domain.Konto;
import de.hs_mannheim.informatik.bank.domain.Kunde;
import de.hs_mannheim.informatik.bank.infrastructure.Persistenz; import de.hs_mannheim.informatik.bank.infrastructure.Persistenz;
public class Banksystem { public class Banksystem {
private Bank bank; private Bank bank;
public Banksystem(String bankname) throws Exception { public Banksystem(String bankname) throws Exception {
@ -79,6 +80,31 @@ public class Banksystem {
return false; 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) { public long getKontostand(int kontonummer) {
Konto konto = bank.findeKonto(kontonummer); Konto konto = bank.findeKonto(kontonummer);
@ -91,5 +117,19 @@ public class Banksystem {
return konto.berechneSaldo(anzahl); 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ü } // hauptmenü
private void kontenAnzeigen() { private void kontenAnzeigen() {
String[] konten = bs.getKontenliste(); String[] konten = bs.getKontenliste();
if (konten.length > 0) { if (konten.length > 0) {
@ -73,16 +80,68 @@ public class UI {
} }
private void kontoAnlegen() throws Exception { 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(); String name = sc.nextLine();
System.out.println("Möchten Sie ein Sparkonto (1) oder ein Girokonto (2) anlegen?"); if(bs.checkIfKundeIsNew(name) == false ) {
int auswahl = Integer.parseInt(sc.nextLine());
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); int kontonummer = bs.kontoAnlegen(name, auswahl);
System.out.println("Konto mit der Nummer " + kontonummer + " neu angelegt."); 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 { private void geldEinzahlen() throws Exception {
System.out.println("Geld einzahlen"); System.out.println("Geld einzahlen");
System.out.print("Bitte die gewünschte Kontonummer eingeben: "); System.out.print("Bitte die gewünschte Kontonummer eingeben: ");