public Actor() { if (Program.TESTMODE) { ConsoleColor tmp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("Basisklasse\nActor() startet:"); if (Program.STEPWISE) { Console.WriteLine("Weiter mit ┘"); Console.ReadLine(); } Console.ForegroundColor = tmp; } lfrNr++; _rolle = "Actor_Masterklassen_Objekt"; _einkaufsliste = new WasWieOft_Liste(); _einkaufswagen = new WasWieOft_Liste("einkaufswagen"); if (Program.TESTMODE) { ConsoleColor tmp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.White; Console.WriteLine("Actor() endet:"); if (Program.STEPWISE) { Console.WriteLine("Weiter mit ┘"); Console.ReadLine(); } Console.ForegroundColor = tmp; } } // end of default Konstruktor Actor()
public WasWieOft_Liste fehlbestand_feststellen(Discounter_ConsoleApplication.Raum v) { // Über alle Regale wandern und jedes mit "nachfüllen = True" // in die Fehlliste eintragen if (Program.TESTMODE) { ConsoleColor tmp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Kasse.fehlbestand_feststellen( in einem Raum) "); Console.ForegroundColor = tmp; } WasWieOft_Liste arbeitsliste = new WasWieOft_Liste("Lagerist"); var fehlliste = from inhalt in v.regale where inhalt.nachfuellen select new { id = inhalt.regal_id, menge = inhalt.kapazität - inhalt.aktuellerInhalt }; foreach (var item in fehlliste) { arbeitsliste.liste.Add(new WasWieOft_Liste.zeile(item.id, item.menge)); if (Program.TESTMODE) { ConsoleColor tmp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("{0}\t{1}", item.id, item.menge); Console.ForegroundColor = tmp; } } return(arbeitsliste); }
public double kunde_abrechnen(WasWieOft_Liste ekw) { // für jeden Artikel im Einkaufswagen, muss der passende Preis // aus dem Warenkatalog beschafft werden if (Program.TESTMODE) { ConsoleColor tmp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Kasse.kunde_abrechnen( aus Einkaufswagen) "); if (Program.STEPWISE) { Console.WriteLine("Weiter mit ┘"); Console.ReadLine(); } Console.ForegroundColor = tmp; } kunde_umsatz = 0.0; for (int i = 0; i < ekw.liste.Count; i++) // durch den Einkaufswagen mit Schleife { if (Program.TESTMODE) { ConsoleColor tmp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Artikel {0,3}, {1,3} mal a {2,4:F2} Euro", ekw.liste[i].artikel, ekw.liste[i].anzahl, Warenkatalog.warenkatalog[ekw.liste[i].artikel].art_einzelpreis); Console.ForegroundColor = tmp; } kunde_umsatz += ekw.liste[i].anzahl * Warenkatalog.warenkatalog[ekw.liste[i].artikel].art_einzelpreis; } if (Program.TESTMODE) { ConsoleColor tmp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Kasse meldet dem Actor den Warensummenwert {0}", kunde_umsatz); if (Program.STEPWISE) { Console.WriteLine("Weiter mit ┘"); Console.ReadLine(); } Console.ForegroundColor = tmp; } tages_umsatz += kunde_umsatz; return(kunde_umsatz); // Kasse meldet dem Actor den Warensummenwert }
public void umlagern(WasWieOft_Liste al, ref Lager l, ref Verkauf v) { if (Program.TESTMODE) { ConsoleColor tmp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.DarkMagenta; Console.WriteLine("Lagerist.umlagern( Auftragsliste ) startet"); Console.WriteLine("Es liegen Anforderungen für {0} Artikel vor", al.liste.Count); if (Program.STEPWISE) { Console.WriteLine("Weiter mit ┘"); Console.ReadLine(); } Console.ForegroundColor = tmp; } WasWieOft_Liste rollwagen = new WasWieOft_Liste("Rollwagen"); double lastenangefordert = 0; double lastenumgefuellt = 0; for (int i = 0; i < al.liste.Count; i++) { lastenangefordert += al.liste[i].anzahl * Warenkatalog.warenkatalog[al.liste[i].artikel].art_volumen; // // aus dem Lagerregal entnehmen / genug, sonst was da ist if (l.regale[al.liste[i].artikel].aktuellerInhalt >= al.liste[i].anzahl) { // genug im Regal if (Program.TESTMODE) { ConsoleColor tmp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.DarkMagenta; Console.WriteLine("Im Lager war genug von Artikel {0} da", al.liste[i].artikel); if (Program.STEPWISE) { Console.WriteLine("Weiter mit ┘"); Console.ReadLine(); } Console.ForegroundColor = tmp; } l.regale[al.liste[i].artikel].aktuellerInhalt -= al.liste[i].anzahl; // einkaufswagen.liste.Add = // wunsch // erhaltene Menge in den Rollwagen // Wunschmenge rausnehmen rollwagen.liste.Add(al.liste[i]); // und in den Rollwagen legen } else { // zu wenig im Lageregal, alles was noch da ist in den Rollwagen legen, Regal ist dann leer if (Program.TESTMODE) { ConsoleColor tmp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.DarkMagenta; Console.WriteLine("zu wenig da, Regal {0} wird leer gemacht", al.liste[i].artikel); Console.ForegroundColor = tmp; } rollwagen.liste.Add(new WasWieOft_Liste.zeile(i, l.regale[al.liste[i].artikel].aktuellerInhalt)); l.regale[al.liste[i].artikel].aktuellerInhalt = 0; } } for (int i = 0; i < rollwagen.liste.Count; i++) { lastenumgefuellt += rollwagen.liste[i].anzahl * Warenkatalog.warenkatalog[rollwagen.liste[i].artikel].art_volumen; l.regale[rollwagen.liste[i].artikel].aktuellerInhalt -= rollwagen.liste[i].anzahl; v.regale[rollwagen.liste[i].artikel].aktuellerInhalt += rollwagen.liste[i].anzahl; } if (Program.TESTMODE) { ConsoleColor tmp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.DarkMagenta; Console.WriteLine("Ich habe {0} cbm von geforderten {1} umgeladen", lastenumgefuellt, lastenangefordert); if (Program.STEPWISE) { Console.WriteLine("Weiter mit ┘"); Console.ReadLine(); } Console.ForegroundColor = tmp; } }
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 }