Exemple #1
0
            static Dessert dessertOmzetten(string[] gegevens)
            {
                Dessert dessertInvoer;

                // Console.WriteLine(gegevens[3]);
                if (gegevens[3] == "*")
                {
                    dessertInvoer = null;
                }
                else
                {
                    string dessertNaam = gegevens[3];
                    dessertInvoer = new Dessert((dessert)Enum.Parse(typeof(dessert), dessertNaam));
                } return(dessertInvoer);
            }
        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);
                    }
                }
            }
Exemple #3
0
        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);