import java.util.ArrayList;
import java.io.*;
/**
* ProfiSoft GmbH verwaltungs liste
*@author Harold Martin Michling
*@version 1.2.1
*/
public class CustomerUI {
// methode zum erstellen von eienm neuen costumer
public static Customer addACustomer()
throws IOException{
int summ, code;
String name, ort, straße;
BufferedReader din = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Bitte geben sie den Namen der firma ein.");
name = din.readLine();
System.out.println("Bitte geben sie die postleitzahl ein");
code = Integer.parseInt(din.readLine());
System.out.println("Bitte geben sie den ort an");
ort = din.readLine();
System.out.println("Bitte geben sie die strasse an");
straße = din.readLine();
System.out.println("Bitte geben sie die summer des auftrages ein");
summ = Integer.parseInt(din.readLine());
Customer customer2 = new Customer(name,ort,code,straße,summ);
return customer2;
}
public static Order changeorder()
throws IOException{
String o;
int d,s;
BufferedReader din = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Bitte geben sie das Datum ein");
d = Integer.parseInt(din.readLine());
System.out.println("Bitte geben sie die Summe des auftrages ein");
s = Integer.parseInt(din.readLine());
System.out.println("Auftrags beschreibung");
o = din.readLine();
Order order1 = new Order(d, s, o);
return order1;
}
public static void main(String args[])
throws IOException{
int input,i;
ArrayList<Customer> allCustomer = new ArrayList<Customer>();
Customer customer1 = new Customer("KFZ Zubehoer GmbH", "Dortmund", 44137, "Poststr. 12", 15000);
Order order1 = new Order(201012, 4000, "halllo das ist ein auftrag");
customer1.addOrder(order1);
allCustomer.add(customer1);// erstellung der 2 bereits vorgegebenen objekten
customer1 = new Customer("Tankbau u. Partner KG", "", 0, "Suedstr. 23", 20000);
allCustomer.add(customer1);
BufferedReader din = new BufferedReader(new InputStreamReader(System.in));
do { // Die UI
System.out.println("ProfiSoft Gmbh");
System.out.println();
System.out.println(" Firmen verwaltung");
System.out.println(" -----------------");
System.out.println();
System.out.println(" Hauptmenu");
System.out.println(" `````````");
System.out.println();
System.out.println(" 1- Firma aktualiesiren");
System.out.println(" 2- Firma hinzufügen");
System.out.println(" 3- Firma entfernen");
System.out.println(" 4- komplete information zu einer firma");
System.out.println(" 5- Firmen auftrag aendern oder auf null setzen.");
System.out.println(" 6- Firmenliste anzeigen");
System.out.println(" 0- Beenden");
System.out.println();
input = Integer.parseInt(din.readLine());
switch (input){
case 0:
System.out.println("Programm wird beendet nicht gespeicherte Daten gehen verloren");
break;
case 1:
System.out.println("bitte geben sie die nummer der Firmer ein die sie Aktualisieren wollen");
i = Integer.parseInt(din.readLine());
allCustomer.get(i).changeAdress();//setBusinesName(din.readLine());
break;
case 2:
allCustomer.add(addACustomer());// ruft die methode auf um ein costumer zu erstellen
break;
case 3:
System.out.println("Bitte geben sie die nummer der Firmer ein die sie entfernen wollen");
i = Integer.parseInt(din.readLine());
System.out.println(allCustomer.get(i).getBusinesName() + " wurde entfernt");
allCustomer.remove(i);
break;
case 4:
System.out.println("bitte geben sie die nummer der Firmer ein wo sie die information sehen wollen");
i = Integer.parseInt(din.readLine());
allCustomer.get(i).printSpezalInfo();
break;
case 5:
System.out.println("bitte geben sie die nummer der Firmer ein die sie Aktualisieren wollen");
i = Integer.parseInt(din.readLine());
allCustomer.get(i).addOrder(changeorder());
break;
case 6:
for(Customer aCustomer: allCustomer) {
aCustomer.printInfos();
}
default:
System.out.println("Erneute eingabe erforderlich");
}
} while (input !=0);
}
}class Customer {
private String businesName;//Variablen
private String location;
private int postcode;
private String streetName;
private int sumOfOrder = 0;
private ArrayList<Order> orderList= new ArrayList<Order>();
public Customer(){ //leerer konstrukter
}
//konstruktor für varajablen belgung
public Customer(String businesName, String location,int postcode,String streetName,int sumOfOrder ){
this.businesName = businesName;
this.location = location;
this.postcode = postcode;
this.streetName = streetName;
this.sumOfOrder = sumOfOrder;
}
//get und set methoden
public void addOrder(Order order){
orderList.add(order);
}
public Order getOrder(int i) {
if (orderList.get(i)!=null){
return orderList.get(i);
}
return new Order();
}
public void setBusinesName(String businesName) {
this.businesName = businesName;
}
public String getBusinesName() {
return businesName;
}
public void setLocation(String location) {
this.location = location;
}
public String getLocation() {
return location;
}
public void setPostcode(int postcode) {
this.postcode = postcode;
}
public int getPostcode() {
return postcode;
}
public void setStreetName(String streetName) {
this.streetName = streetName;
}
public String getStreetName() {
return streetName;
}
public void setSumOfOrder(int sumOfOrder) {
this.sumOfOrder = sumOfOrder;
}
public int getSumOfOrder() {
for (int i = 0; i < orderList.size(); i++) {
sumOfOrder+= orderList.get(i).getSumOfOrder();
}
return sumOfOrder;
}
//methode zum schreiben ders firmen namen und adresse
public void changeAdress()
throws IOException{
BufferedReader din = new BufferedReader(new InputStreamReader(System.in));
System.out.println("Bitte geben sie den Namen der firma ein.");
this.businesName = din.readLine();
System.out.println("Bitte geben sie den ort an");
this.location = din.readLine();
System.out.println("Bitte geben sie die postleitzahl ein");
this.postcode = Integer.parseInt(din.readLine());
System.out.println("Bitte geben sie die strasse an");
this.streetName = din.readLine();
}
public void printInfos() {
System.out.println("Der Firmen Name ist : " + getBusinesName());
System.out.println("Die anschrift ist : " + getPostcode() + getLocation() + getStreetName());
System.out.println("die Autrags summe ist: " + sumOfOrder);
System.out.println("----------------------------------------------------");
}
public void printSpezalInfo(){
printInfos();
}
}class Order {
private static int ordernumer=0;
private int orderNumber;
private int sumOfOrder;
private int date;
private String kindOfOrder;
public int buildOrderNumber() {
orderNumber++;
return orderNumber++;
}
public int getOrderNumber() {
return orderNumber;
}
public void setSumOfOrder(int sumOfOrder) {
this.sumOfOrder = sumOfOrder;
}
public int getSumOfOrder() {
return sumOfOrder;
}
public void setDate(int date) {
this.date = date;
}
public int getDate() {
return date;
}
public void setKindOfOrder(String kindOfOrder) {
this.kindOfOrder = kindOfOrder;
}
public String getKindOfOrder() {
return kindOfOrder;
}
public Order() {
}
public Order(int date, int sumOfOrder, String kindOfOrder) {
this.date = date;
this.sumOfOrder = sumOfOrder;
this.kindOfOrder = kindOfOrder;
buildOrderNumber();
}
public void printInfos() {
System.out.println("Die Auftrags Nummer ist: " + getOrderNumber());
System.out.println("Der auftrag ist am " + getDate() + "eingegangen ( tt.mm.jj)");
System.out.println("Der Auftrag: " + getKindOfOrder());
System.out.println("Die gesamt summe dieses Auftrages ist " + getSumOfOrder());
}
}