// public void wareEntnehmen(Discounter_ConsoleApplication.Raum r) public Einkaufszettel wareEntnehmen(Discounter_ConsoleApplication.Raum r, Einkaufszettel alt_liste) { Einkaufszettel einkaufswagen = new Einkaufszettel("Einkaufswagen"); for (int i = 0; i < alt_liste.liste.Count; i++) { Console.WriteLine(" Auf dem Zettel : Artikel {0,3} soll {1,3} mal gekauft werden", alt_liste.liste[i].artikel, alt_liste.liste[i].anzahl); if (r.regale[alt_liste.liste[i].artikel].aktuellerInhalt >= alt_liste.liste[i].anzahl) { // genug im Regal Console.WriteLine("genug da"); r.regale[alt_liste.liste[i].artikel].aktuellerInhalt -= alt_liste.liste[i].anzahl; // einkaufswagen.liste.Add = // wunsch einkaufswagen.liste.Add(alt_liste.liste[i]); } else { // zu wenig im Regal, alles was noch da ist //Console.WriteLine("zu wenig da, Regal wird leer gemacht"); Console.WriteLine("Es sind noch {0,3} da, Regal wird leer gemacht.", r.regale[alt_liste.liste[i].artikel].aktuellerInhalt); einkaufswagen.liste.Add(new Einkaufszettel.zeile(alt_liste.liste[i].artikel, r.regale[alt_liste.liste[i].artikel].aktuellerInhalt)); r.regale[alt_liste.liste[i].artikel].aktuellerInhalt = 0; // einkaufswagen.liste.Add(new Einkaufszettel.zeile(i, r.regale[alt_liste.liste[i].artikel].aktuellerInhalt)); } // Console.WriteLine("Im Wagen lfdNr: {0},ArtikelNr:{1}, Anzahl:{2}", i, alt_liste.liste[i].artikel, alt_liste.liste[i].anzahl); r.regale[alt_liste.liste[i].artikel].nachfuellen = r.regale[alt_liste.liste[i].artikel].aktuellerInhalt <= r.regale[alt_liste.liste[i].artikel].mindestbestand; if (r.regale[alt_liste.liste[i].artikel].nachfuellen) { r.regale[alt_liste.liste[i].artikel].lbl.Background = Brushes.Red; } r.regale[alt_liste.liste[i].artikel].aktuellerWarenwert = r.regale[alt_liste.liste[i].artikel].aktuellerInhalt * r.regale[alt_liste.liste[i].artikel].artikelpreis; } Console.WriteLine("Im Wagen sind {0} verschiedene Artikel ", einkaufswagen.liste.Count); return(einkaufswagen); // wegen Änderung der Rückgabe von void auf Einkaufszettel }
public WasWieOft_Liste wareEntnehmen(Raum r) { // zur Laufzeit kann r Verkaufsraum und Lager darstellen if (Program.TESTMODE) { ConsoleColor tmp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(" Actor.wareEntnehmen(Raum r) startet "); if (Program.STEPWISE) { Console.WriteLine("Weiter mit ┘"); Console.ReadLine(); } Console.ForegroundColor = tmp; } WasWieOft_Liste einkaufswagen = new WasWieOft_Liste("Einkaufswagen"); // leerer Einkaufswagen for (int i = 0; i < _einkaufsliste.liste.Count; i++) { // Count: Länge der Einkaufsliste in Zeilen if (Program.TESTMODE) { // Wiedergabe des Einkaufszettels ConsoleColor tmp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine(" Auf dem Zettel : Artikel {0,3} soll {1,3} mal gekauft werden", _einkaufsliste.liste[i].artikel, _einkaufsliste.liste[i].anzahl); Console.ForegroundColor = tmp; } if (r.regale[_einkaufsliste.liste[i].artikel].aktuellerInhalt >= _einkaufsliste.liste[i].anzahl) { // genug im Regal if (Program.TESTMODE) { ConsoleColor tmp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("genug da, von Liste in Einkaufswagen"); Console.ForegroundColor = tmp; } r.regale[_einkaufsliste.liste[i].artikel].aktuellerInhalt -= _einkaufsliste.liste[i].anzahl; // einkaufswagen.liste.Add = // wunsch // Wunschmenge rausnehmen einkaufswagen.liste.Add(_einkaufsliste.liste[i]); // und in den Einkaufswagen legen } else { // zu wenig im Regal, alles was noch da ist in den Einkaufswagen legen, Regal ist dann leer if (Program.TESTMODE) { ConsoleColor tmp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("zu wenig da, Regal wird leer gemacht"); Console.ForegroundColor = tmp; } r.regale[_einkaufsliste.liste[i].artikel].aktuellerInhalt = 0; einkaufswagen.liste.Add(new WasWieOft_Liste.zeile(i, r.regale[_einkaufsliste.liste[i].artikel].aktuellerInhalt)); } r.regale[_einkaufsliste.liste[i].artikel].nachfuellen // test auf ausreichende Restmenge, gibt bool zurück = r.regale[_einkaufsliste.liste[i].artikel].aktuellerInhalt <= r.regale[_einkaufsliste.liste[i].artikel].mindestbestand; } if (Program.TESTMODE) { ConsoleColor tmp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("Im Wagen sind {0} verschiedene Artikel,\nActor.wareEntnehmen(Raum r) endet ", einkaufswagen.liste.Count); Console.ForegroundColor = tmp; } return(einkaufswagen); // Rückgabe der entnommenen Artikel als WasWieOft_Liste im Einkaufswagen }