diff --git a/app/src/main/java/com/example/mampfmobil/ui/Classes/Bestellung.java b/app/src/main/java/com/example/mampfmobil/ui/Classes/Bestellung.java index eb1466fad19bc082ea2ac396bf32e569a0be1bd0..9549ef10ceabaa756fff6dc757921c79c3469772 100644 --- a/app/src/main/java/com/example/mampfmobil/ui/Classes/Bestellung.java +++ b/app/src/main/java/com/example/mampfmobil/ui/Classes/Bestellung.java @@ -1,6 +1,7 @@ package com.example.mampfmobil.ui.Classes; import android.content.Context; +import android.util.Log; import com.example.mampfmobil.R; import com.example.mampfmobil.ui.MampfMobil; @@ -51,6 +52,22 @@ public class Bestellung { id = idCounter; idCounter++; } + + public Bestellung(int id,Supplier supplier, Boolean delivery,String state,Customer costumer, int delivererID){ + bestellungsTeile = new Vector<>(); + this.supplier = supplier; + this.state = state ; + this.delivery = delivery; + this.costumer = costumer; + this.id = id; + if(delivererID != 0){ + for(Deliverer d: MampfMobil.deliverers){ + if(d.id == delivererID) { + this.deliverer = d; + } + } + } + } public void addBestellungsteil(BestellungsTeil bt){ Boolean notFound = true; @@ -63,6 +80,7 @@ public class Bestellung { if(notFound){ bestellungsTeile.add(bt); } + } } diff --git a/app/src/main/java/com/example/mampfmobil/ui/Classes/Customer.java b/app/src/main/java/com/example/mampfmobil/ui/Classes/Customer.java index 5541627a30384a1e13f7d72fe23bdf617cdfb885..46ae62b3463bf8020d8121c9d8a27ad5bdaec653 100644 --- a/app/src/main/java/com/example/mampfmobil/ui/Classes/Customer.java +++ b/app/src/main/java/com/example/mampfmobil/ui/Classes/Customer.java @@ -36,6 +36,16 @@ public class Customer { idCounter++; } + public Customer(int id,String vorname,String nachname,String adresse) { + this.vorname = vorname; + this.nachname = nachname; + this.adresse = adresse; + favoriten = new Vector<>(); + shoppingCart = new Vector<>(); + bestellungen = new Vector<>(); + this.id = id; + } + public void addToShoppingCart(BestellungsTeil bt){ if (shoppingCart == null) { shoppingCart = new Vector<>(); diff --git a/app/src/main/java/com/example/mampfmobil/ui/Classes/Deliverer.java b/app/src/main/java/com/example/mampfmobil/ui/Classes/Deliverer.java index 3ba67b5954790e9bf4993a108052e70a4acd2aff..74dd0bf73057fe8a9d7cd2a8e8fe3f7f027735f7 100644 --- a/app/src/main/java/com/example/mampfmobil/ui/Classes/Deliverer.java +++ b/app/src/main/java/com/example/mampfmobil/ui/Classes/Deliverer.java @@ -16,4 +16,10 @@ public class Deliverer { id = idCounter; idCounter++; } + public Deliverer(int id,String vorname,String nachname,String adresse) { + this.vorname = vorname; + this.nachname = nachname; + this.adresse = adresse; + this.id = id; + } } diff --git a/app/src/main/java/com/example/mampfmobil/ui/Classes/Item.java b/app/src/main/java/com/example/mampfmobil/ui/Classes/Item.java index 8ab576cf2588494eb41e2346790a2e9ac03f464c..e69f328afbc1d1fb79e8278646d16a1cc662ba4a 100644 --- a/app/src/main/java/com/example/mampfmobil/ui/Classes/Item.java +++ b/app/src/main/java/com/example/mampfmobil/ui/Classes/Item.java @@ -1,5 +1,7 @@ package com.example.mampfmobil.ui.Classes; +import android.util.Log; + public class Item { public static int idCounter = 1; public int id; @@ -15,4 +17,11 @@ public class Item { id = idCounter; idCounter++; } + public Item(int id,String name, double price,Supplier supplier){ + + this.name = name; + this.price = price; + this.supplier = supplier; + this.id = id; + } } diff --git a/app/src/main/java/com/example/mampfmobil/ui/Classes/ShopItem.java b/app/src/main/java/com/example/mampfmobil/ui/Classes/ShopItem.java index cf58e4252cf5b4ae99c6ebe923c6fe9fe31d6913..6a4cd474b9d6eb52cafe267998808c99ab47ed5f 100644 --- a/app/src/main/java/com/example/mampfmobil/ui/Classes/ShopItem.java +++ b/app/src/main/java/com/example/mampfmobil/ui/Classes/ShopItem.java @@ -1,15 +1,23 @@ package com.example.mampfmobil.ui.Classes; +import android.util.Log; + public class ShopItem { public Item item; public int quantity; - public static int idCounter = 1; public int id; public ShopItem(Item item, int quantity){ this.item = item; this.quantity = quantity; - id = idCounter; - idCounter++; + id = item.id; } + + public ShopItem(int id,Item item, int quantity){ + + this.item = item; + this.quantity = quantity; + this.id = id; + } + } diff --git a/app/src/main/java/com/example/mampfmobil/ui/Classes/Supplier.java b/app/src/main/java/com/example/mampfmobil/ui/Classes/Supplier.java index f35d5e16618c75f5a6e313d88467e88efe577364..d242464b024b0c17829ac2c8c7b23ba7bdb9e791 100644 --- a/app/src/main/java/com/example/mampfmobil/ui/Classes/Supplier.java +++ b/app/src/main/java/com/example/mampfmobil/ui/Classes/Supplier.java @@ -1,5 +1,7 @@ package com.example.mampfmobil.ui.Classes; +import android.util.Log; + import java.util.Vector; public class Supplier { @@ -13,15 +15,28 @@ public class Supplier { public Vector<ShopItem> shopItems = new Vector<>(); public Supplier(String name,String adresse) { + shopItems = new Vector<>(); this.name = name; this.address = adresse; id = idCounter; idCounter++; } + public Supplier(int id, String name,String adresse) { + shopItems = new Vector<>(); + this.name = name; + this.address = adresse; + this.id = id; + } + public void itemAdd(String name,int quantity, double price){ shopItems.add(new ShopItem(new Item(name,price,this),quantity)); } + public void itemAdd(int idItem,String name,int quantity, double price){ + + shopItems.add(idItem,new ShopItem(idItem,new Item(idItem,name,price,this),quantity)); + + } diff --git a/app/src/main/java/com/example/mampfmobil/ui/MampfMobil.java b/app/src/main/java/com/example/mampfmobil/ui/MampfMobil.java index 565b2ebc08276253b3a3b2be64afabccb4aecd86..df0613091ba31bb2ec5111c3ada9f0d3d8c23c4c 100644 --- a/app/src/main/java/com/example/mampfmobil/ui/MampfMobil.java +++ b/app/src/main/java/com/example/mampfmobil/ui/MampfMobil.java @@ -31,6 +31,10 @@ public class MampfMobil { public MampfMobil(Context context){ this.context = context; + customers = new Vector<>(); + deliverers = new Vector<>(); + suppliers = new Vector<>(); + takefromPersistance(); if(!isInitialized) { customers = new Vector<>(); deliverers = new Vector<>(); @@ -197,7 +201,6 @@ public class MampfMobil { csvDeliverer = csvDeliverer + d.id +","+ d.vorname +","+ d.nachname +","+ d.adresse + "\n"; } String fileName = "deliverer.csv"; - Log.d("myTag", csvDeliverer); CSVFileHelper.saveCSVFile(context, fileName, csvDeliverer); @@ -207,7 +210,6 @@ public class MampfMobil { csvSupplier = csvSupplier + s.id +","+ s.name +","+s.address + "\n"; } String fileName2 = "supplier.csv"; - Log.d("myTag", csvSupplier); CSVFileHelper.saveCSVFile(context, fileName2, csvSupplier); @@ -217,7 +219,6 @@ public class MampfMobil { csvCustomer = csvCustomer + c.id +","+ c.vorname +","+ c.nachname +","+ c.adresse + "\n"; } String fileName3 = "customer.csv"; - Log.d("myTag", csvCustomer); CSVFileHelper.saveCSVFile(context, fileName3, csvCustomer); @@ -230,25 +231,23 @@ public class MampfMobil { } } String fileName4 = "items.csv"; - Log.d("myTag", csvItems); CSVFileHelper.saveCSVFile(context, fileName4, csvItems); - // ID, ITEM-ID, AMOUNT + // ID/ITEM-ID(immer gleich), AMOUNT String csvShopItems = ""; for(Supplier s:MampfMobil.suppliers){ for(ShopItem sI: s.shopItems){ - csvShopItems = csvShopItems + sI.id + "," + sI.item.id + "," + sI.quantity + "\n"; + csvShopItems = csvShopItems + sI.id + "," + sI.quantity + "\n"; } } String fileName5 = "shopItems.csv"; - Log.d("myTag", csvShopItems); CSVFileHelper.saveCSVFile(context, fileName5, csvShopItems); - // ID,CUSTOMER_ID, DELIVERY(TRUE/FALSE),STATE,DELIVERER-ID(0 when none),SUPPLIER-ID + // ID,CUSTOMER_ID, DELIVERY(TRUE/FALSE),STATE,DELIVERER-ID(0 when none),SUPPLIER-ID, // bestellungsteil besteht aus ITEM-ID1, QUANTITY1, ITEM-ID2, QUANTITY2, ITEM-ID3, QUANTITY3 .... \n String csvBestellungen = ""; for(Customer c:MampfMobil.customers){ @@ -256,15 +255,21 @@ public class MampfMobil { csvBestellungen = csvBestellungen + b.id + ","+ b.costumer.id+ "," + b.delivery + "," + b.state + ","; if(b.deliverer == null){ csvBestellungen = csvBestellungen + "0,"; + } else{ csvBestellungen = csvBestellungen + b.deliverer.id + ","; + } - csvBestellungen = csvBestellungen + b.supplier.id + "\n"; + csvBestellungen = csvBestellungen + b.supplier.id; + for (BestellungsTeil bT: b.bestellungsTeile){ - csvBestellungen = csvBestellungen + bT.item.id + "," + bT.quantity + "\n"; + csvBestellungen = csvBestellungen +","+ bT.item.id + "," + bT.quantity ; + } + csvBestellungen = csvBestellungen + "\n"; + } } String fileName6 = "bestellungen.csv"; @@ -274,10 +279,181 @@ public class MampfMobil { } - public static void takefromPersistance(){ - String fileName = "data.csv"; + public static void takefromPersistance() { + + String fileName = "deliverer.csv"; String csvData = CSVFileHelper.loadCSVFile(context, fileName); - Log.d("myTag", "This ONDESTROY"); - } + if (csvData != null) { + String[] lines = csvData.split("\n"); + for (String line : lines) { + String[] data = line.split(","); + + if (data.length >= 4) { + int id = Integer.parseInt(data[0]); + String vorname = data[1]; + String nachname = data[2]; + String adresse = data[3]; + + // Verwende die Daten, um den Deliverer-Objekt zu erstellen oder zu aktualisieren + Deliverer deliverer = new Deliverer(id, vorname, nachname, adresse); + // Füge den Deliverer-Objekt deiner Datenstruktur hinzu + MampfMobil.deliverers.add(deliverer); + } + } + } + + + String fileName2 = "customer.csv"; + String csvData2 = CSVFileHelper.loadCSVFile(context, fileName2); + if (csvData2 != null) { + String[] lines = csvData2.split("\n"); + for (String line : lines) { + String[] data = line.split(","); + + if (data.length >= 4) { + int id = Integer.parseInt(data[0]); + String vorname = data[1]; + String nachname = data[2]; + String adresse = data[3]; + + // Verwende die Daten, um den Deliverer-Objekt zu erstellen oder zu aktualisieren + Customer customer = new Customer(id, vorname, nachname, adresse); + // Füge den Deliverer-Objekt deiner Datenstruktur hinzu + MampfMobil.customers.add(customer); + } + } + } + + + String fileName3 = "supplier.csv"; + String csvData3 = CSVFileHelper.loadCSVFile(context, fileName3); + if (csvData3 != null) { + String[] lines = csvData3.split("\n"); + for (String line : lines) { + String[] data = line.split(","); + + if (data.length >= 3) { + int id = Integer.parseInt(data[0]); + String name = data[1]; + String adresse = data[2]; + + // Verwende die Daten, um den Deliverer-Objekt zu erstellen oder zu aktualisieren + Supplier supplier = new Supplier(id, name, adresse); + // Füge den Deliverer-Objekt deiner Datenstruktur hinzu + MampfMobil.suppliers.add(supplier); + } + } + } + + + String fileName4 = "items.csv"; + String csvData4 = CSVFileHelper.loadCSVFile(context, fileName4); + if (csvData4 != null) { + String[] lines = csvData4.split("\n"); + for (String line : lines) { + String[] data = line.split(","); + + if (data.length >= 4) { + int itemId = Integer.parseInt(data[0]); + String name = data[1]; + double preis = Double.parseDouble(data[2]); + int supplierId = Integer.parseInt(data[3]); + + // Verwende die Daten, um den Deliverer-Objekt zu erstellen oder zu aktualisieren + for (Supplier s : MampfMobil.suppliers) { + if (s.id == supplierId) { + + Item tempItem = new Item(itemId,name,preis,s); + s.shopItems.add(new ShopItem(itemId,tempItem,0)); + //s.itemAdd(itemId, name, 0, preis); + } + } + } + } + } + + + String fileName5 = "shopItems.csv"; + String csvData5 = CSVFileHelper.loadCSVFile(context, fileName5); + if (csvData5 != null) { + String[] lines = csvData5.split("\n"); + for (String line : lines) { + String[] data = line.split(","); + + if (data.length >= 2) { + int itemId = Integer.parseInt(data[0]); + int quantity = Integer.parseInt(data[1]); + + + // Verwende die Daten, um den Deliverer-Objekt zu erstellen oder zu aktualisieren + for (Supplier s : MampfMobil.suppliers) { + for (ShopItem sI : s.shopItems) { + if (sI.id == itemId) { + sI.quantity = quantity; + } + } + } + } + } + + } + + String fileName6 = "bestellungen.csv"; + String csvData6 = CSVFileHelper.loadCSVFile(context, fileName6); + Log.d("myTag", csvData6 ); + if (csvData6 != null) { + String[] lines = csvData6.split("\n"); + for (String line : lines) { + String[] data = line.split(","); + + if (data.length >= 6) { + int ID = Integer.parseInt(data[0]); + int customerId = Integer.parseInt(data[1]); + String deliver = data[2]; + boolean delivery = false; + if (deliver.equals("true")) { + delivery = true; + } + String state = data[3]; + int delivererId = Integer.parseInt(data[4]); + int supplierId = Integer.parseInt(data[5]); + + Supplier tempSup = null; + for (Supplier s : MampfMobil.suppliers) { + if (s.id == supplierId) { + tempSup = s; + } + } + Customer tempCus = null; + for (Customer c : MampfMobil.customers) { + if (c.id == customerId) { + tempCus = c; + } + } + + Bestellung temp = new Bestellung(ID, tempSup, delivery, state, tempCus, delivererId); + + Log.d("myTag", data.length + " lang" ); + for (int i = 6; i < data.length; i += 2) { + int ItemId = Integer.parseInt(data[i]); + int quantity = Integer.parseInt(data[i + 1]); + + Item tempItem = null; + for (Supplier s : MampfMobil.suppliers) { + for (ShopItem sI : s.shopItems) { + if (sI.id == ItemId) { + tempItem = sI.item; + } + } + } + Log.d("myTag", tempItem.name + quantity); + temp.addBestellungsteil(new BestellungsTeil(tempItem, quantity)); + } + + tempCus.addBestellung(temp); + } + } + } + } }