static void Main(string[] args) { Pizza margherita = new Pizza { Naam = "Pizza Margherita", Prijs = 8, Onderdelen = new List <string> { "Tomatensaus", "Mozzarella" } }; Pizza napoli = new Pizza { Naam = "Pizza Napoli", Prijs = 10, Onderdelen = new List <string> { "Tomatensaus", "Mozzarella", "Anjovis", "Kappers", "Olijven" } }; Pizza Lardiera = new Pizza { Naam = "Pizza Lardiera", Prijs = 9.5M, Onderdelen = new List <string> { "Mozzarella", "Spek" } }; Pizza Vegetariana = new Pizza { Naam = "Pizza Vegetariana", Prijs = 9.5M, Onderdelen = new List <string> { "Mozzarella", "groenten" } }; Pasta lasagna = new Pasta { Naam = "Lasagna", Prijs = 15.00m }; Pasta carbonara = new Pasta { Naam = "Spaghetti Carbonara", Prijs = 13.00m, Omschrijving = " Spek, Roomsaus en Parmezaanse kaas" }; Pasta bolognese = new Pasta { Naam = "Spaghetti Bolognese", Prijs = 12.00M, Omschrijving = " met gehaktsaus " }; Pasta Arrabbiata = new Pasta { Naam = "Penne Arrabiata", Prijs = 14.00M, Omschrijving = " met pittige tomatensaus " }; Pizza[] Pizzas = { margherita, napoli, Lardiera, Vegetariana }; Pasta[] PastaGerechten = { bolognese, carbonara, Arrabbiata, lasagna }; Gerecht[] lijstgerechten = { margherita, napoli, Lardiera, Vegetariana, lasagna, carbonara, bolognese }; Frisdrank water = new Frisdrank(drank.water); Frisdrank cocacola = new Frisdrank(drank.cocacola); Frisdrank limonade = new Frisdrank(drank.limonade); // var frisdrankLijst = new List<drank> { drank.water, drank.cocacola, drank.limonade}; Warmedrank thee = new Warmedrank(drank.thee); Warmedrank koffie = new Warmedrank(drank.koffie); Dessert ijs = new Dessert(dessert.Ijs); Dessert tiramisu = new Dessert(dessert.Tiramisu); Dessert cake = new Dessert(dessert.Cake); Klant JanJanssen = new Klant { KlantID = 1, Naam = "Jan Janssen" }; Klant PP = new Klant { KlantID = 2, Naam = "Piet Peeters" }; Klant[] KlantenLijst = { JanJanssen, PP }; BesteldGerecht bestelling1 = new BesteldGerecht { Gerecht = margherita, FormaatBesteldGerecht = Grootte.groot, Extra = new List <Extra> { Extra.kaas, Extra.look } }; BesteldGerecht bestelling2 = new BesteldGerecht { Gerecht = margherita, FormaatBesteldGerecht = Grootte.klein, Extra = new List <Extra> { } }; BesteldGerecht bestelling3 = new BesteldGerecht { Gerecht = napoli, FormaatBesteldGerecht = Grootte.groot, Extra = new List <Extra> { } }; BesteldGerecht bestelling4 = new BesteldGerecht { Gerecht = lasagna, FormaatBesteldGerecht = Grootte.klein, Extra = new List <Extra> { Extra.look } }; BesteldGerecht bestelling5 = new BesteldGerecht { Gerecht = carbonara, FormaatBesteldGerecht = Grootte.klein, Extra = new List <Extra> { } }; BesteldGerecht bestelling6 = new BesteldGerecht { Gerecht = bolognese, FormaatBesteldGerecht = Grootte.groot, Extra = new List <Extra> { Extra.kaas } }; List <Bestelling> Bestellingen = new List <Bestelling> { new Bestelling { besteldGerecht = bestelling1, drank = water, dessert = ijs, Aantal = 2, klant = JanJanssen }, new Bestelling { besteldGerecht = bestelling2, drank = water, dessert = tiramisu, Aantal = 1, klant = PP }, new Bestelling { besteldGerecht = bestelling3, drank = thee, dessert = ijs, Aantal = 1, klant = PP }, new Bestelling { besteldGerecht = bestelling4, Aantal = 1 }, new Bestelling { besteldGerecht = bestelling5, drank = cocacola, dessert = null, Aantal = 1, klant = JanJanssen }, new Bestelling { besteldGerecht = bestelling6, drank = cocacola, dessert = cake, Aantal = 1, klant = PP }, new Bestelling { besteldGerecht = null, drank = koffie, dessert = null, Aantal = 3, klant = PP }, new Bestelling { dessert = tiramisu, Aantal = 1, klant = JanJanssen } }; // DirectoryConfigreren(); AlleBestellingenTonen(Bestellingen); BestellingenJJTonen(JanJanssen, Bestellingen); BestellingenKlantTonen(Bestellingen); KlantGegevensWegschrijven(KlantenLijst); GerechtenWegschrijven(PastaGerechten, Pizzas); BestellingenWegschrijven(Bestellingen); //----------------------------------- void BestellingenWegschrijven(List <Bestelling> Bestellingen) { foreach (var bestelling in Bestellingen) { string locatie = DirectoryConfiguratie.DirectoryNaam(@"C:\Data\OefCsPFPastaPizzaNet\"); StringBuilder BestellingRegel; try { using (var schrijver = new StreamWriter(locatie + "Bestellingen.txt", true)) { BestellingRegel = new StringBuilder(); if (bestelling.klant == null) { BestellingRegel.Append("0#"); } else { BestellingRegel.Append(bestelling.klant.KlantID + "#"); } if (bestelling.besteldGerecht == null) { BestellingRegel.Append("#"); } else { BestellingRegel.Append(bestelling.besteldGerecht.Gerecht.Naam + "-" + bestelling.besteldGerecht.FormaatBesteldGerecht + "-" + bestelling.besteldGerecht.Extra.Count + "-" + string.Join("-", bestelling.besteldGerecht.Extra) + "#"); } if (bestelling.drank == null) { BestellingRegel.Append("#"); } else { if (bestelling.drank is Frisdrank) { BestellingRegel.Append("F-" + bestelling.drank.Naam + "#"); } else { BestellingRegel.Append("W-" + bestelling.drank.Naam + "#"); } } if (bestelling.dessert == null) { BestellingRegel.Append("*#"); } else { BestellingRegel.Append(bestelling.dessert.Naam + "#"); } if (bestelling.Aantal == 0) { BestellingRegel.Append("1"); } else { BestellingRegel.Append(bestelling.Aantal); } schrijver.WriteLine(BestellingRegel); } } catch (IOException) { Console.WriteLine("Fout bij het schrijven naar het bestand!"); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } //------------------------------------- void KlantGegevensWegschrijven(Klant[] klantenLijst) { foreach (var klant in klantenLijst) { string locatie = DirectoryConfiguratie.DirectoryNaam(@"C:\Data\OefCsPFPastaPizzaNet\");; StringBuilder KlantRegel; try { using (var schrijver = new StreamWriter(locatie + "Klanten.txt", true)) { KlantRegel = new StringBuilder(); KlantRegel.Append(klant.KlantID + " # " + klant.Naam); schrijver.WriteLine(KlantRegel); } } catch (IOException) { Console.WriteLine("Fout bij het schrijven naar het bestand!"); } catch (Exception ex) { Console.WriteLine(ex.Message); } } } //-------------------------------------- void GerechtenWegschrijven(Pasta[] PastaGerechten, Pizza[] Pizzas) { foreach (var pizza in Pizzas) { string locatie = DirectoryConfiguratie.DirectoryNaam(@"C:\Data\OefCsPFPastaPizzaNet\");; StringBuilder GerechtRegel; try { using (var schrijver = new StreamWriter(locatie + "Gerechten.txt", true)) { GerechtRegel = new StringBuilder(); GerechtRegel.Append("Pizza" + "#" + pizza.Naam + "#" + pizza.Prijs + "#" + String.Join(", ", pizza.Onderdelen)); schrijver.WriteLine(GerechtRegel); } } catch (IOException) { Console.WriteLine("Fout bij het schrijven naar het bestand!"); } catch (Exception ex) { Console.WriteLine(ex.Message); } } foreach (var pastaGerecht in PastaGerechten) { string locatie = DirectoryConfiguratie.DirectoryNaam(@"C:\Data\OefCsPFPastaPizzaNet\"); StringBuilder GerechtRegel; try { using (var schrijver = new StreamWriter(locatie + "Gerechten.txt", true)) { GerechtRegel = new StringBuilder(); GerechtRegel.Append("Pasta" + "#" + pastaGerecht.Naam + "#" + pastaGerecht.Prijs + "#" + String.Join(", ", pastaGerecht.Omschrijving) + "#"); schrijver.WriteLine(GerechtRegel); } } catch (IOException) { Console.WriteLine("Fout bij het schrijven naar het bestand!"); } catch (Exception ex) { Console.WriteLine(ex.Message); } } }
public static void Main(string[] args) { string locatie = DirectoryConfiguratie.DirectoryNaam(@"C:\Data\OefCsPFPastaPizzaNet\"); string GerechtRegel; List <Gerecht> GerechtenLijst = new List <Gerecht>(); string gerechtSoort; string gerechtNaam; decimal gerechtPrijs; try { using (var lezer = new StreamReader(locatie + "Gerechten.txt")) { while ((GerechtRegel = lezer.ReadLine()) != null) { string[] gegevens = GerechtRegel.Split(new Char[] { '#' }); int aantalOnderdelen = gegevens.Length; gerechtSoort = gegevens[0]; gerechtNaam = gegevens[1]; gerechtPrijs = decimal.Parse(gegevens[2]); if (gerechtSoort == "Pizza") { List <string> pizzaOnderdelen = new List <string>(); for (var teller = 3; teller <= aantalOnderdelen - 1; teller++) { pizzaOnderdelen.Add(gegevens[teller]); } GerechtenLijst.Add(new Pizza { Naam = gerechtNaam, Prijs = gerechtPrijs, Onderdelen = pizzaOnderdelen }); } else { GerechtenLijst.Add(new Pasta { Naam = gerechtNaam, Prijs = gerechtPrijs, Omschrijving = gegevens[3] }); } } } } catch (IOException) { Console.WriteLine("Fout bij het lezen van het bestand!"); } catch (Exception ex) { Console.WriteLine(ex.Message); } /* foreach (Gerecht gerecht in GerechtenLijst) * { * Console.WriteLine(gerecht.ToString()); * } */ string KlantRegel; string klantnaam; int klantid; List <Klant> klantenLijst = new List <Klant>(); try { using (var lezer = new StreamReader(locatie + "Klanten.txt")) { while ((KlantRegel = lezer.ReadLine()) != null) { string[] gegevens = KlantRegel.Split(new char[] { '#' }); klantid = int.Parse(gegevens[0]); klantnaam = gegevens[1]; klantenLijst.Add(new Klant { KlantID = klantid, Naam = klantnaam }); } } } catch (IOException) { Console.WriteLine("Fout bij het lezen van het bestand!"); } catch (Exception ex) { Console.WriteLine(ex.Message); } string BestellingRegel; List <Bestelling> Bestellingen = new List <Bestelling>(); try { using (var lezer = new StreamReader(locatie + "Bestellingen.txt")) { while ((BestellingRegel = lezer.ReadLine()) != null) { string[] gegevens = BestellingRegel.Split(new Char[] { '#' }); int klantIdNr = int.Parse(gegevens[0]); int aantalXBesteld = int.Parse(gegevens[4]); Klant KlantInvoer = klantIdOmzetten(klantenLijst, klantIdNr); Drank drankInvoer = drankOmzetten(gegevens); Dessert dessertInvoer = dessertOmzetten(gegevens); Grootte FormaatBesteldGerecht; int aantalExtras; List <Extra> extras; string BesteldGerechtNaam; if (gegevens[1] != "") { string[] gegevensBesteldGerecht = gegevens[1].Split(new Char[] { '-' }); BesteldGerechtNaam = gegevensBesteldGerecht[0]; FormaatBesteldGerecht = ((Grootte)Enum.Parse(typeof(Grootte), gegevensBesteldGerecht[1])); aantalExtras = int.Parse(gegevensBesteldGerecht[2]); extras = extrasOmzetten(aantalExtras, gegevensBesteldGerecht); } else { BesteldGerechtNaam = ""; FormaatBesteldGerecht = Grootte.klein; extras = new List <Extra>(); } BesteldGerecht BesteldGerechtInvoer; BesteldGerechtInvoer = besteldGerechtBepalen(GerechtenLijst, FormaatBesteldGerecht, extras, BesteldGerechtNaam); Bestellingen.Add( new Bestelling { klant = KlantInvoer, Aantal = aantalXBesteld, besteldGerecht = BesteldGerechtInvoer, dessert = dessertInvoer, drank = drankInvoer }); } } } catch (IOException) { Console.WriteLine("Fout bij het lezen van het bestand!"); } catch (Exception ex) { Console.WriteLine(ex.Message); } BestellingObjectTonen(Bestellingen);