finish class ShopTUI
parent
a45c6d8fad
commit
4d2251af0f
|
|
@ -12,7 +12,19 @@ public class OnlineShop {
|
|||
this.bestellungen = new ArrayList<Bestellung>();
|
||||
this.aktuellerWarenkorb = new Warenkorb();
|
||||
};
|
||||
public void AddProdukteVonDatei(ArrayList<String> produktfile) {
|
||||
for(int i = 1; i < produktfile.size(); i++) {
|
||||
String ProduktId = produktfile.get(i).split(",")[0];
|
||||
String ProduktName = produktfile.get(i).split(",")[1];
|
||||
String ProduktGewicht = produktfile.get(i).split(",")[2];
|
||||
String ProduktPreis = produktfile.get(i).split(",")[3];
|
||||
String ProduktMwst = produktfile.get(i).split(",")[4];
|
||||
String ProduktLagerBestand = produktfile.get(i).split(",")[5];
|
||||
|
||||
Produkt temp = new Produkt(Integer.parseInt(ProduktId),ProduktName,(int)Math.round(Double.parseDouble(ProduktGewicht)*1000),(int)Math.round(Double.parseDouble(ProduktPreis)*100),Integer.parseInt(ProduktMwst),Integer.parseInt(ProduktLagerBestand));
|
||||
AddProdukt(temp);
|
||||
}
|
||||
}
|
||||
public void AddProdukt(Produkt neu){
|
||||
this.lager.add(neu);
|
||||
};
|
||||
|
|
@ -33,23 +45,27 @@ public class OnlineShop {
|
|||
};
|
||||
public ArrayList<String[]> ShowWarenkorb(){
|
||||
ArrayList<String[]> ret = new ArrayList<String[]>();
|
||||
ret.add(new String[] {this.aktuellerWarenkorb.kunde.name,this.aktuellerWarenkorb.kunde.Adresse,""+this.aktuellerWarenkorb.NettoPreis(),""+this.aktuellerWarenkorb.NettoVersandkosten(),""+this.aktuellerWarenkorb.NettoGesamtPreis(),""+this.aktuellerWarenkorb.BruttoPreis(),""+this.aktuellerWarenkorb.BruttoVersandkosten(),""+this.aktuellerWarenkorb.BruttoGesamtPreis(),""+this.aktuellerWarenkorb.Gewicht()});
|
||||
for(int i = 0; i < this.aktuellerWarenkorb.inhalt.size(); i++) {
|
||||
ret.add(new String[]{""+this.aktuellerWarenkorb.inhalt.get(i).id, this.aktuellerWarenkorb.inhalt.get(i).name, ""+this.aktuellerWarenkorb.inhalt.get(i).transportGewicht, ""+this.aktuellerWarenkorb.inhalt.get(i).netto, ""+this.aktuellerWarenkorb.inhalt.get(i).mwStSatz, ""+this.aktuellerWarenkorb.inhalt.get(i).lagerbestand, ""+this.aktuellerWarenkorb.anzahl.get(i)});
|
||||
ret.add(new String[]{""+this.aktuellerWarenkorb.inhalt.get(i).id, this.aktuellerWarenkorb.inhalt.get(i).name, ""+(this.aktuellerWarenkorb.inhalt.get(i).netto*this.aktuellerWarenkorb.anzahl.get(i)), ""+this.aktuellerWarenkorb.inhalt.get(i).mwStSatz, ""+this.aktuellerWarenkorb.anzahl.get(i)});
|
||||
}
|
||||
return ret;
|
||||
};
|
||||
public ArrayList<String[]> SearchProdukt(String substing){
|
||||
ArrayList<String[]> ret = new ArrayList<String[]>();
|
||||
for(int i = 0; i < this.lager.size(); i++) {
|
||||
if(this.lager.get(i).name.contains(substing)) {
|
||||
if(this.lager.get(i).name.toLowerCase().contains(substing.toLowerCase())) {
|
||||
ret.add(new String[]{""+this.lager.get(i).id, this.lager.get(i).name, ""+this.lager.get(i).transportGewicht, ""+this.lager.get(i).netto, ""+this.lager.get(i).mwStSatz, ""+this.lager.get(i).lagerbestand});
|
||||
}
|
||||
}
|
||||
return ret;
|
||||
};
|
||||
public void AddProduktZuWarenkorb(Produkt add, int count){
|
||||
if(count <= add.lagerbestand)
|
||||
aktuellerWarenkorb.AddProdukt(add, count);
|
||||
public void AddProduktZuWarenkorb(int id, int count){
|
||||
Produkt neu = FindeProduktVonId(id);
|
||||
if(neu == null)
|
||||
return;
|
||||
|
||||
aktuellerWarenkorb.AddProdukt(neu, count);
|
||||
};
|
||||
public void DelProduktAusWarenkorb(Produkt del){
|
||||
aktuellerWarenkorb.DelProdukt(del);
|
||||
|
|
@ -57,8 +73,8 @@ public class OnlineShop {
|
|||
public void ChangeProduktInWarenkorb(Produkt change, int count){
|
||||
aktuellerWarenkorb.ChangeProdukt(change, count);
|
||||
};
|
||||
public void UpdateKundeInWarenkorb(Kunde neu){
|
||||
aktuellerWarenkorb.UpdateKunde(neu);
|
||||
public void UpdateKundeInWarenkorb(String name, String addr){
|
||||
aktuellerWarenkorb.UpdateKunde(new Kunde(name, addr));
|
||||
};
|
||||
public void AddBestellung(){
|
||||
Warenkorb Bestellkorb = new Warenkorb(this.aktuellerWarenkorb.kunde);
|
||||
|
|
@ -88,4 +104,21 @@ public class OnlineShop {
|
|||
}
|
||||
}
|
||||
};
|
||||
public void ResetWarenkorb() {
|
||||
this.aktuellerWarenkorb = new Warenkorb();
|
||||
}
|
||||
public Boolean validWarenkorb() {
|
||||
if(this.aktuellerWarenkorb.kunde.Adresse==""||this.aktuellerWarenkorb.kunde.name=="") {
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
public Produkt FindeProduktVonId(int id) {
|
||||
for(int i = 0; i < this.lager.size(); i++) {
|
||||
if(this.lager.get(i).id==id) {
|
||||
return this.lager.get(i);
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,14 +29,14 @@ public class Warenkorb {
|
|||
public int BruttoPreis(){
|
||||
double tmp = 0;
|
||||
for(int i = 0; i < this.inhalt.size(); i++) {
|
||||
tmp += (this.inhalt.get(i).netto*this.anzahl.get(i)*(1+this.inhalt.get(i).mwStSatz));
|
||||
tmp += (this.inhalt.get(i).netto*this.anzahl.get(i)*((double)1+((double)this.inhalt.get(i).mwStSatz)/100));
|
||||
}
|
||||
return (int) Math.round(tmp);
|
||||
};
|
||||
public int NettoVersandkosten(){
|
||||
int ret = 0;
|
||||
for(int i = 0; i < this.inhalt.size(); i++) {
|
||||
ret += (((this.inhalt.get(i).netto*this.anzahl.get(i))/NettoPreis())*BruttoVersandkosten())/(1+this.inhalt.get(i).mwStSatz);
|
||||
ret += BruttoVersandkosten()-(((this.inhalt.get(i).netto*this.anzahl.get(i))/NettoPreis())*BruttoVersandkosten())/(1+this.inhalt.get(i).mwStSatz);
|
||||
}
|
||||
return ret;
|
||||
};
|
||||
|
|
@ -60,11 +60,15 @@ public class Warenkorb {
|
|||
return BruttoPreis()+BruttoVersandkosten();
|
||||
};
|
||||
public void AddProdukt(Produkt add, int count){
|
||||
if(IsProduktInWarenkorb(add)) {
|
||||
ChangeProdukt(add, GetProduktAnzahl(add)+count);
|
||||
} else {
|
||||
if(count <= add.lagerbestand) {
|
||||
this.inhalt.add(add);
|
||||
this.anzahl.add(count);
|
||||
CheckCount(add);
|
||||
}
|
||||
}
|
||||
CheckCount(add);
|
||||
};
|
||||
public void DelProdukt(Produkt del){
|
||||
for(int i = 0; i < this.inhalt.size(); i++) {
|
||||
|
|
@ -98,11 +102,27 @@ public class Warenkorb {
|
|||
}
|
||||
}
|
||||
}
|
||||
private int Gewicht() {
|
||||
public int Gewicht() {
|
||||
int ret = 0;
|
||||
for(int i = 0; i < this.inhalt.size(); i++) {
|
||||
ret += (this.inhalt.get(i).transportGewicht*this.anzahl.get(i));
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
public Boolean IsProduktInWarenkorb(Produkt zutesten) {
|
||||
for(int i = 0; i < this.inhalt.size(); i++) {
|
||||
if(zutesten.equals(this.inhalt.get(i))) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
public int GetProduktAnzahl(Produkt zutesten) {
|
||||
for(int i = 0; i < this.inhalt.size(); i++) {
|
||||
if(zutesten.equals(this.inhalt.get(i))) {
|
||||
return this.anzahl.get(i);
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,13 +7,164 @@ import java.util.ArrayList;
|
|||
import java.util.Scanner;
|
||||
|
||||
public class ShopTUI {
|
||||
public static void main(String[] args) {
|
||||
OnlineShop shop = new OnlineShop();
|
||||
Scanner sc = new Scanner(System.in);
|
||||
Menu(shop, sc);
|
||||
private static OnlineShop shop;
|
||||
private static Scanner sc;
|
||||
public static void main(String[] args) throws FileNotFoundException {
|
||||
shop = new OnlineShop();
|
||||
sc = new Scanner(System.in);
|
||||
shop.AddProdukteVonDatei(readFile("resources/produkte.csv"));
|
||||
Menu();
|
||||
System.out.println("Ende.");
|
||||
}
|
||||
|
||||
private static void Menu(OnlineShop shop, Scanner sc) {
|
||||
private static void Menu() {
|
||||
Boolean ende = false;
|
||||
while(!ende) {
|
||||
if(!shop.validWarenkorb()) {
|
||||
UpdateKundeInWarenkorb();
|
||||
continue;
|
||||
}
|
||||
System.out.println();
|
||||
System.out.println("Wählen Sie:");
|
||||
System.out.println("1) Alle Produkte anzeigen");
|
||||
System.out.println("2) Produkt nach Namen suchen");
|
||||
System.out.println("3) Produkt anhand der id hinzufügen/ löschen");
|
||||
System.out.println("4) Warenkorb anzeigen");
|
||||
System.out.println("5) Warenkorb leeren");
|
||||
System.out.println("6) Kundendaten ändern");
|
||||
System.out.println("7) Bestellen");
|
||||
//System.out.println("8) Alte Bestellungen anzeigen");
|
||||
System.out.println("9) exit");
|
||||
System.out.println();
|
||||
String orgeingabe = sc.nextLine();
|
||||
if(!(orgeingabe.length()>0&&(orgeingabe.charAt(0)>'0'&&orgeingabe.charAt(0)<='9'))) {
|
||||
continue;
|
||||
}
|
||||
int eingabe = Integer.parseInt(""+orgeingabe.charAt(0));
|
||||
switch (eingabe) {
|
||||
case 1 :
|
||||
ShowProdukte();
|
||||
break;
|
||||
case 2 :
|
||||
SearchProdukt();
|
||||
break;
|
||||
case 3 :
|
||||
AddProdukt();
|
||||
break;
|
||||
case 4 :
|
||||
ShowWarenkorb();
|
||||
break;
|
||||
case 5 :
|
||||
ResetWarenkorb();
|
||||
break;
|
||||
case 6 :
|
||||
UpdateKundeInWarenkorb();
|
||||
break;
|
||||
case 7 :
|
||||
Bestellen();
|
||||
break;
|
||||
case 8 :
|
||||
ShowBestellungen();
|
||||
break;
|
||||
case 9 :
|
||||
ende = true;
|
||||
break;
|
||||
default :
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private static void ShowProdukte(){
|
||||
ArrayList<String[]> produkte = shop.ShowProdukte();
|
||||
for(int i = 0; i < produkte.size(); i++) {
|
||||
System.out.println("id: "+produkte.get(i)[0]);
|
||||
System.out.println("Name: "+produkte.get(i)[1]);
|
||||
System.out.println("Gewicht: "+produkte.get(i)[2]+"g");
|
||||
System.out.println("Nettopreis: "+produkte.get(i)[3]+"ct");
|
||||
System.out.println("MwStSatz: "+produkte.get(i)[4]+"%");
|
||||
System.out.println("Lagerbestand: "+produkte.get(i)[5]);
|
||||
System.out.println("");
|
||||
}
|
||||
};
|
||||
private static void SearchProdukt(){
|
||||
System.out.println("Bitte schreiben Sie den Suchbegriff:");
|
||||
String orgeingabe = sc.nextLine();
|
||||
ArrayList<String[]> produkte = shop.SearchProdukt(orgeingabe);
|
||||
for(int i = 0; i < produkte.size(); i++) {
|
||||
System.out.println("id: "+produkte.get(i)[0]);
|
||||
System.out.println("Name: "+produkte.get(i)[1]);
|
||||
System.out.println("Gewicht: "+produkte.get(i)[2]+"g");
|
||||
System.out.println("Nettopreis: "+produkte.get(i)[3]+"ct");
|
||||
System.out.println("MwStSatz: "+produkte.get(i)[4]+"%");
|
||||
System.out.println("Lagerbestand: "+produkte.get(i)[5]);
|
||||
System.out.println("");
|
||||
}
|
||||
};
|
||||
private static void AddProdukt(){
|
||||
System.out.println("Bitte geben Sie die id des Produktes ein:");
|
||||
String orgeingabe = sc.nextLine();
|
||||
int id = Integer.parseInt(orgeingabe);
|
||||
for(int i = 0; i<orgeingabe.length();i++) {
|
||||
if(!(orgeingabe.charAt(i)>='0'&&orgeingabe.charAt(i)<='9')) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
System.out.println("Bitte geben Sie die Anzahl an:");
|
||||
orgeingabe = sc.nextLine();
|
||||
int count = Integer.parseInt(orgeingabe);
|
||||
for(int i = 0; i<orgeingabe.length();i++) {
|
||||
if(orgeingabe.charAt(i)=='-')
|
||||
continue;
|
||||
if(!(orgeingabe.charAt(i)>='0'&&orgeingabe.charAt(i)<='9')) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
shop.AddProduktZuWarenkorb(id,count);
|
||||
};
|
||||
private static void ShowWarenkorb(){
|
||||
ArrayList<String[]> produkte = shop.ShowWarenkorb();
|
||||
for(int i = 1; i < produkte.size(); i++) {
|
||||
System.out.println("id: "+produkte.get(i)[0]);
|
||||
System.out.println("Name: "+produkte.get(i)[1]);
|
||||
System.out.println("Nettopreis: "+produkte.get(i)[2]+"ct");
|
||||
System.out.println("MwStSatz: "+produkte.get(i)[3]+"%");
|
||||
System.out.println("Anzahl im Warenkorb: "+produkte.get(i)[4]);
|
||||
System.out.println("");
|
||||
}
|
||||
|
||||
System.out.println("Name: "+produkte.get(0)[0]);
|
||||
System.out.println("Adresse: "+produkte.get(0)[1]);
|
||||
System.out.println("Netto: "+produkte.get(0)[2]+"ct");
|
||||
System.out.println("Netto Versandkosten: "+produkte.get(0)[3]+"ct");
|
||||
System.out.println("Netto gesamt: "+produkte.get(0)[4]+"ct");
|
||||
System.out.println("Brutto: "+produkte.get(0)[5]+"ct");
|
||||
System.out.println("Brutto Versandkosten: "+produkte.get(0)[6]+"ct");
|
||||
System.out.println("Brutto gesamt: "+produkte.get(0)[7]+"ct");
|
||||
};
|
||||
private static void ResetWarenkorb(){
|
||||
shop.ResetWarenkorb();
|
||||
};
|
||||
private static void UpdateKundeInWarenkorb(){
|
||||
System.out.println("Bitte schreiben Sie ihren Namen:");
|
||||
String name = sc.nextLine();
|
||||
System.out.println("Bitte schreiben Sie ihre Addresse:");
|
||||
String addr = sc.nextLine();
|
||||
shop.UpdateKundeInWarenkorb(name, addr);
|
||||
};
|
||||
private static void Bestellen() {
|
||||
shop.AddBestellung();
|
||||
};
|
||||
private static void ShowBestellungen(){};
|
||||
|
||||
|
||||
private static ArrayList<String> readFile(String path) throws FileNotFoundException {
|
||||
ArrayList<String> lines = new ArrayList<>();
|
||||
Scanner sc = new Scanner(new File(path));
|
||||
while (sc.hasNextLine()) {
|
||||
lines.add(sc.nextLine());
|
||||
}
|
||||
sc.close();
|
||||
return lines;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue