Beispiel #1
0
        //  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
        }
Beispiel #2
0
        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
        }