This repository has been archived on 2020-11-09. You can view files and clone it, but cannot push or open issues or pull requests.
Autovermietung/src/autovermietung/helper/Shop.java

246 lines
9.0 KiB
Java

package autovermietung.helper;
import autovermietung.models.Kunde;
import autovermietung.models.Modell;
import autovermietung.models.Pkw;
import java.sql.Date;
import java.time.LocalDate;
import java.util.ArrayList;
public class Shop {
private static void clearScreen() {
try
{
final String os = System.getProperty("os.name");
if (os.contains("Windows"))
{
new ProcessBuilder("cmd", "/c", "cls").inheritIO().start().waitFor();
}
else
{
Runtime.getRuntime().exec("clear");
}
}
catch (final Exception e)
{
System.out.println(e);
}
}
private static void menuText() {
clearScreen();
System.out.println("================================================");
System.out.println("Bitte aus den folgenen Menüpunkten wählen:");
System.out.println("================================================");
}
private static void menuEnde() {
System.out.println();
System.out.println("0.\tProgramm beenden");
System.out.println("================================================");
System.out.print("Ihre Auswahl: ");
}
public static void hauptMenu() {
menuText();
System.out.println("1.\tAuto Verwaltung");
System.out.println("2.\tModell Verwaltung");
System.out.println("3.\tKunden Verwaltung");
menuEnde();
}
public static void falscheEingabe() {
System.out.println("Es wurde kein Menüpunkt ausgewählt!");
System.out.println();
}
public static void autoMenu() {
menuText();
System.out.println("1.\tAutos vermieten");
System.out.println("2.\tAutos anzeigen");
System.out.println("3.\tMiete eines Autos beenden");
System.out.println("9.\tAuto entfernen");
menuEnde();
}
public static void modellMenu() {
menuText();
System.out.println("1.\tModell erstellen");
System.out.println("2.\tModell anzeigen");
System.out.println("9.\tModell entfernen");
menuEnde();
}
public static void kundenMenu() {
menuText();
System.out.println("1.\tKunde erstellen");
System.out.println("2.\tKunde anzeigen");
System.out.println("9.\tKunde entfernen");
menuEnde();
}
public static void autoAnzeigen(ArrayList<Pkw> autos, ArrayList<Modell> modelle, ArrayList<Kunde> kunden) {
clearScreen();
for(Pkw auto : autos) {
auto.getInformation();
System.out.print("\t" + modelle.get(auto.getMnr() - 1).getModellname());
System.out.println("\t" + kunden.get(auto.getKnr() - 1).getNachname());
}
System.out.println("Beliebige Taste drücken, um fortzufahren.");
}
public static Pkw autoVermieten(ArrayList<Modell> modelle, ArrayList<Kunde> kunden) {
clearScreen();
System.out.print("Bitte das Kennzeichen angeben: ");
String k = Tastatur.liesString();
System.out.print("Erstzulassung Datum angeben (YYYY-MM-DD): ");
Date e = Tastatur.liesDate();
System.out.print("Bitte momentanen Tachostand angeben: ");
int t = Tastatur.liesInt();
System.out.print("Bitte die Farbe des Fahrzeugs angeben: ");
String f = Tastatur.liesString();
System.out.print("Bitte das Ausleihdatum angeben(YYYY-MM-DD oder heute): ");
String aTemp = Tastatur.liesString();
Date a;
if(aTemp.equals("heute")) {
a = Date.valueOf(LocalDate.now());
} else {
a = Date.valueOf(aTemp);
}
System.out.println("Liste der Modelle: ");
for(Modell modell : modelle) {
modell.getInformation();
}
System.out.print("Bitte die Modell-Nr angeben:");
int mnr = Tastatur.liesInt();
System.out.println("Liste der Kunden: ");
for(Kunde kunde : kunden) {
kunde.getInformation();
}
System.out.print("Bitte die Kundennummer angeben: ");
int knr = Tastatur.liesInt();
System.out.println("Das Auto wurde vermietet.");
return new Pkw(k, e, t, f, a, mnr, knr);
}
public static Modell modellErstellen(ArrayList<Modell> modelle) {
clearScreen();
System.out.print("Bitte den Modellnamen angeben: ");
String mn = Tastatur.liesString();
System.out.print("Bitte den Hubraum angeben: ");
int h = Tastatur.liesInt();
System.out.print("Bitte die Leistung angeben: ");
int l = Tastatur.liesInt();
System.out.print("Bitte den KM Preis angeben: ");
float kmp = Tastatur.liesFloat();
System.out.print("Bitte den Pauschalpreis angeben: ");
float p = Tastatur.liesFloat();
return new Modell(modelle.size() + 1, mn, h, l, kmp, p);
}
public static Kunde kundeErstellen(ArrayList<Kunde> kunden) {
clearScreen();
System.out.print("Bitte Vorname des Kunden angeben: ");
String v = Tastatur.liesString();
System.out.print("Bitte Nachnamen des Kunden angeben: ");
String n = Tastatur.liesString();
System.out.print("Bitte Anschrift des Kunden angeben: ");
String a = Tastatur.liesString();
System.out.print("Bitte die Telefonnummer des Kunden angeben: ");
String t = Tastatur.liesString();
System.out.print("Bitte die Personalausweisnummer angeben: ");
int p = Tastatur.liesInt();
return new Kunde(kunden.size() + 1, v, n, a, t, p);
}
public static int autoEntfernen(ArrayList<Pkw> autos, ArrayList<Modell> modelle, ArrayList<Kunde> kunden) {
clearScreen();
System.out.println("Liste der Autos:");
for (int i = 0; i < autos.size(); i++) {
System.out.print(i + 1 + ": ");
autos.get(i).getInformation();
System.out.print("\t" + modelle.get(autos.get(i).getMnr() - 1).getModellname());
System.out.println("\t" + kunden.get(autos.get(i).getKnr() - 1).getNachname());
}
System.out.print("Bitte die Nummer des zu entfernenen Auto abgeben: ");
return Tastatur.liesInt() - 1;
}
public static void modellAnzeigen(ArrayList<Modell> modelle) {
clearScreen();
for(Modell modell : modelle) {
modell.getInformation();
}
System.out.println("Beliebige Taste drücken, um fortzufahren.");
}
public static int modellEntfernen(ArrayList<Modell> modell) {
clearScreen();
System.out.println("Liste der Autos:");
for (int i = 0; i < modell.size(); i++) {
System.out.print(i + 1 + ": ");
modell.get(i).getInformation();
}
System.out.print("Bitte die Nummer des zu entfernenen Modell abgeben: ");
return Tastatur.liesInt() - 1;
}
public static void kundeAnzeigen(ArrayList<Kunde> kunden) {
clearScreen();
for(Kunde kunde : kunden) {
kunde.getInformation();
}
System.out.println("Beliebige Taste drücken, um fortzufahren.");
}
public static int kundenEntfernen(ArrayList<Kunde> kunden) {
clearScreen();
System.out.println("Liste der Autos:");
for (int i = 0; i < kunden.size(); i++) {
System.out.print(i + 1 + ": ");
kunden.get(i).getInformation();
}
System.out.print("Bitte die Nummer des zu entfernenen Kunden abgeben: ");
return Tastatur.liesInt() - 1;
}
public static int mieteBeenden(ArrayList<Pkw> autos, ArrayList<Modell> modelle, ArrayList<Kunde> kunden) {
clearScreen();
int autoNr;
int neuerTacho;
float kostenoP;
float kosten;
System.out.println("Liste der Autos:");
for (int i = 0; i < autos.size(); i++) {
System.out.print(i + 1 + ": ");
autos.get(i).getInformation();
System.out.print("\t" + modelle.get(autos.get(i).getMnr() - 1).getModellname());
System.out.println("\t" + kunden.get(autos.get(i).getKnr() - 1).getNachname());
}
System.out.print("Bitte die Nummer des Autos abgeben: ");
autoNr = Tastatur.liesInt() - 1;
System.out.print("Bitte den momentanen Tachostand angeben: ");
neuerTacho = Tastatur.liesInt();
kostenoP = (neuerTacho - autos.get(autoNr).getTachostand()) * modelle.get(autos.get(autoNr).getMnr() - 1).getKmpreis();
kosten = kostenoP + modelle.get(autos.get(autoNr).getMnr() - 1).getPauschale();
System.out.println("Der Preis beträgt: " + kosten);
return autoNr;
}
public static void programmBeendet() {
clearScreen();
System.out.println("Das Programm wurde durch den User beendet!");
}
}