From a267914199ce61ff1e999e5f43bbc25fcd92f837 Mon Sep 17 00:00:00 2001 From: Kasperi Kovanen <kasperi.a.kovanen@utu.fi> Date: Sun, 9 Mar 2025 17:50:47 +0000 Subject: [PATCH] t2 muutokset --- VerkkokauppaIO.java | 80 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 80 insertions(+) diff --git a/VerkkokauppaIO.java b/VerkkokauppaIO.java index 7885362..3e76c4a 100644 --- a/VerkkokauppaIO.java +++ b/VerkkokauppaIO.java @@ -90,6 +90,37 @@ public class VerkkokauppaIO { return new Asiakas(asNro, nimi, ostot); } + public static Myyja parsiMyyja(String data) { + String[] tiedot = data.split(VerkkokauppaIO.EROTIN); + // Tässä vaiheessa tulee tietää tietojen järjestys + String nimi = tiedot[0]; + String tunniste = tiedot[1]; + double provisiot = Double.parseDouble(tiedot[2]); + + return new Myyja(nimi, tunniste, provisiot); + } + + public static Tuote parsiTuote(String data) { + String[] tiedot = data.split(VerkkokauppaIO.EROTIN); + // Tässä vaiheessa tulee tietää tietojen järjestys + String nimi = tiedot[0]; + int saldo = Integer.parseInt(tiedot[1]); + double hinta = Double.parseDouble(tiedot[2]); + + return new Tuote(nimi, saldo, hinta); + } + + public static Ostotapahtuma parsiOstotapahtuma(String data) { + String[] tiedot = data.split(VerkkokauppaIO.EROTIN); + // Tässä vaiheessa tulee tietää tietojen järjestys + Asiakas asiakas = parsiAsiakas(tiedot[0]); + Myyja myyja = parsiMyyja(tiedot[1]); + Tuote tuote = parsiTuote(tiedot[2]); + int maara = Integer.parseInt(tiedot[3]); + + return new Ostotapahtuma(asiakas, myyja, tuote, maara); + } + public static KantaAsiakas parsiKantaAsiakas(String data) { String[] tiedot = data.split(VerkkokauppaIO.EROTIN); // Tässä vaiheessa tulee tietää tietojen järjestys @@ -125,6 +156,55 @@ public class VerkkokauppaIO { return asiakkaat; } + public static ArrayList<Myyja> lueMyyjat(String tiedostonNimi) { + ArrayList<Myyja> myyjat = new ArrayList<>(); + ArrayList<String> data = lueTiedosto(tiedostonNimi); + for (String adata : data) { + + Myyja my = parsiMyyja(adata); + myyjat.add(my); + + + } + return myyjat; + } + + public static void kirjoitaMyyjat(ArrayList<Myyja> myyjalista, String tiedostonNimi) { + try (ObjectOutputStream oos = + new ObjectOutputStream( + new FileOutputStream(tiedostonNimi))) { + oos.writeObject(myyjalista); + } catch (IOException e) { + System.out.println("Tapahtui virhe: " + e); + } + } + + public static ArrayList<Ostotapahtuma> lueOstotapahtumat(String tiedostonNimi) { + ArrayList<Ostotapahtuma> ot = new ArrayList<>(); + ArrayList<String> data = lueTiedosto(tiedostonNimi); + for (String adata : data) { + + Ostotapahtuma o = parsiOstotapahtuma(adata); + ot.add(o); + + + } + return ot; + } + + public static void kirjoitaOstotapahtumat(ArrayList<Ostotapahtuma> ostolista, String tiedostonNimi) { + try (ObjectOutputStream oos = + new ObjectOutputStream( + new FileOutputStream(tiedostonNimi))) { + oos.writeObject(ostolista); + } catch (IOException e) { + System.out.println("Tapahtui virhe: " + e); + } + } + + + + /** * Kirjoittaa tuotelistan annetun nimiseen tiedostoon. * -- GitLab