package backend; import java.io.File; import java.io.FileNotFoundException; import java.util.ArrayList; import java.util.Scanner; public class OnlineShop { public ArrayList lager; Warenkorb warenkorb = new Warenkorb(); public OnlineShop() throws FileNotFoundException { lager = new ArrayList(); umwandlung(lager); } public static ArrayList readFile(String path) throws FileNotFoundException { ArrayList lines = new ArrayList<>(); Scanner sc = new Scanner(new File(path)); while (sc.hasNextLine()) { lines.add(sc.nextLine()); } sc.close(); return lines; } public static ArrayList umwandlung (ArrayList liste) throws FileNotFoundException { ArrayList resource = readFile("resources\\produkte.csv"); for (int i = 1; i < resource.size(); i++) { String[] teile = resource.get(i).split(","); Produkt produkt = new Produkt(); produkt.produktNr = Integer.parseInt(teile[0]); produkt.name = teile[1]; produkt.gewicht = Double.parseDouble(teile[2]); produkt.preis = Double.parseDouble(teile[3]); produkt.mwSteuer = Integer.parseInt(teile[4]); produkt.lagerbestand = Integer.parseInt(teile[5]); liste.add(produkt); } return liste; } public void produkteListe() throws FileNotFoundException { for (int i = 0; i < lager.size(); i++) { System.out.println(i+1 + ". " + lager.get(i).getName()); } } public void produkteInformationen() throws FileNotFoundException { String[] produkt = new String[lager.size()]; System.out.println("ProdId,Name,TransportGewicht,Netto,MwStSatz,Lagerbestand\n"); for (int i = 0; i < lager.size(); i++) { produkt[i] = lager.get(i).toString(); System.out.println(produkt[i]); } System.out.println(""); } public void inWarenkorb(int produktNr, int menge){ warenkorb.produkte.add(lager.get(produktNr-1)); warenkorb.menge.add(menge); } public void warenkorbAusgabe(){ System.out.println("Der aktuelle backend.Warenkorb sieht so aus: "); double[] bruttopreis = warenkorb.bruttoPreisBerechnen(); for (int i = 0; i < warenkorb.menge.size(); i++) {; System.out.println(warenkorb.menge.get(i) + " Stück | " + lager.get(i).getName() + " | " + (bruttopreis[i] * warenkorb.menge.get(i)) + "€"); } } public void warenkorbÄnderungen(int auswahl){ Scanner scanner = new Scanner(System.in); if (auswahl == 1) { System.out.println("Welches backend.Produkt möchten Sie aus dem backend.Warenkorb löschen? \nBitte die Stelle im backend.Warenkorb angeben (0=Hauptmenü)\n"); int warenkorbStelle = scanner.nextInt(); if (warenkorbStelle == 0) { return; } while(true) { if (warenkorbStelle > lager.size()) { System.out.println("Ungültige Eingabe! "); continue; } else {break;} } warenkorb.menge.remove(warenkorbStelle-1); //".remove" mit Hilfe von KI warenkorb.produkte.remove(warenkorbStelle-1); } else if (auswahl == 2) { System.out.println("Von welchem backend.Produkt möchten Sie die Menge verändern \nBitte die Stelle im backend.Warenkorb angeben (0=Hauptmenü)\n"); int warenkorbStelle = scanner.nextInt(); if (warenkorbStelle == 0) { return; } while (true) { if (warenkorbStelle > lager.size()) { System.out.println("Ungültige Eingabe! "); continue; } else { break; } } System.out.println("Bitte neue Menge angeben: "); int mengeNeu = scanner.nextInt(); warenkorb.menge.set(warenkorbStelle-1, mengeNeu); System.out.println(warenkorb.menge.get(warenkorbStelle-1)); } warenkorbAusgabe(); while(true) { System.out.println("\n \n Möchten Sie weitere Änderungen vornehmen?(1=Ja, 2=Nein): "); int auswahlNeu = scanner.nextInt(); if (auswahlNeu == 1) { System.out.println("1=backend.Produkt löschen, 2=Menge verändern"); auswahl = scanner.nextInt(); warenkorbÄnderungen(auswahl); } else if (auswahlNeu == 2) { break; } else{ System.out.println("Falsche Eingabe!"); continue; } } } public void bestellungAbschließen(){ Scanner scanner = new Scanner(System.in); System.out.println("Sind Sie sich sicher? (1=Fortfahren, 2=Hauptmenü)"); int fortfahren = scanner.nextInt(); if (fortfahren == 2) { return; } System.out.println("Bitte geben Sie Ihren Namen an (Vorname Nachname): "); scanner.nextLine(); String name = scanner.nextLine(); System.out.println("Bitte geben Sie Ihre Adresse ein (Straße Hausnummer PLZ Ort)"); String adresse = scanner.nextLine(); Bestellung bestellung = new Bestellung(); bestellung.name = name; bestellung.adresse = adresse; double[] versandkostenUndAnteile = warenkorb.versandkostenBerechnen(); bestellung.versandkosten = versandkostenUndAnteile[0]; bestellung.anteil7 = versandkostenUndAnteile[1]; bestellung.anteil19 = versandkostenUndAnteile[2]; double[] bruttopreis = warenkorb.bruttoPreisBerechnen(); double gesamtpreis = 0; for (int i = 0; i