public Kasse(ref Warenkatalog wk) { offen = true; kunde_umsatz = 0.0; tages_umsatz = 0.0; Console.WriteLine("Kasse ist geöffnet"); }
// Methoden public Kasse(ref Warenkatalog wk) { offen = true; kunde_umsatz = 0.0; tages_umsatz = 0.0; if (Program.TESTMODE) { ConsoleColor tmp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine("Kasse ist geöffnet"); if (Program.STEPWISE) { Console.WriteLine("Weiter mit ┘"); Console.ReadLine(); } Console.ForegroundColor = tmp; } }
static void Main(string[] args) { Warenkatalog wk = new Warenkatalog(); Discounter_ConsoleApplication.Kasse kasse = new Discounter_ConsoleApplication.Kasse(ref wk); Verkauf v = new Verkauf("Im2.OG_Hohe Strasse", 400.0, ref Warenkatalog.warenkatalog); v.anzeigen(v.regale); // der ganze Raum Console.WriteLine("Wert aller Regale bei der Eröffnung: {0} ", kasse.momentanWert(v)); //gesucht werden alle Regal-IDs, wo die Regale mehr Wert sind als 500 Euro var mehrAls500Wert = from inhalt in v.regale where inhalt.aktuellerWarenwert > 500 select inhalt.regal_id; foreach (var item in mehrAls500Wert) { Console.WriteLine("Das Regal {0} ist mehr als 500 Euro wert ", item); } if (Program.TESTMODE) { Console.ReadLine(); } Lager l = new Lager("gemeinsamer Keller in Ossendorf", 240.0, ref Warenkatalog.warenkatalog); // l.anzeigen(l.regale); ReadLine(); Discounter_ConsoleApplication.Kunde k = new Discounter_ConsoleApplication.Kunde(); k.einkaufswagen = k.wareEntnehmen(v); v.anzeigen(v.regale); k.bezahlen(ref kasse); // wird polymorph weitergegeben an kasse.kunde_abrechnen(); // kunde aus dem Speicher entfernen // k = null; GC.Collect(); ReadLine(); v.anzeigen(v.regale); /* * Console.WriteLine("Wert aller Regale nach den Einkäufen: {0} ", kasse.momentanWert(v)); * if (Program.TESTMODE) * { Console.ReadLine(); } */ /* * Discounter_ConsoleApplication.Personal p1 = new Discounter_ConsoleApplication.Personal(); * p1.einkaufswagen = p1.wareEntnehmen(v); * v.anzeigen(v.regale); * p1.bezahlen(ref kasse); // wird polymorph weitergegeben an kasse.kunde_abrechnen(); * ReadLine(); * Discounter_ConsoleApplication.Personal p2 = new Discounter_ConsoleApplication.Personal(); * p2.einkaufswagen = p2.wareEntnehmen(v); * v.anzeigen(v.regale); * p2.bezahlen(ref kasse); // wird polymorph weitergegeben an kasse.kunde_abrechnen(); * ReadLine(); * * v.anzeigen(v.regale); */ // Console.WriteLine("Der Auftrag an den Lageristen umfasst :"); kasse.fehlbestand_feststellen(v).anzeigen(); if (Program.TESTMODE) { ConsoleColor tmp = Console.ForegroundColor; Console.ForegroundColor = ConsoleColor.DarkMagenta; Console.WriteLine("Instanzierung des Lageristen "); if (Program.STEPWISE) { Console.WriteLine("Weiter mit ┘"); Console.ReadLine(); } Console.ForegroundColor = tmp; } Lagerist laggy = new Lagerist(); laggy.umlagern(kasse.fehlbestand_feststellen(v), ref l, ref v); // filialleiter.bestellen(kasse.fehlbestand_feststellen(l),ref lief,ref l); if (Program.STEPWISE) { Console.WriteLine("Weiter mit ┘"); Console.ReadLine(); } v.anzeigen(v.regale); ReadLine(); }
static void Main(string[] args) { Warenkatalog wk = new Warenkatalog(); // foreach( Artikel item in wk) braucht immer Enumerable Daten /* for(int i = 0; i < Warenkatalog.warenkatalog.Length; i++) * { * Console.WriteLine("{0}\t{1}\t{2}", * Warenkatalog.warenkatalog[i].art_id, * Warenkatalog.warenkatalog[i].art_volumen, * Warenkatalog.warenkatalog[i].art_einzelpreis); * } * * // in SQL : select * from Warenkatalog.warenkatalog * // Quelle / Table * var artikelliste = from artikel in Warenkatalog.warenkatalog select artikel; // in LINQ Syntax * * * * foreach (var item in artikelliste) * { * Console.WriteLine("{0}\t{1}\t{2}", * item.art_id, * item.art_volumen, * item.art_einzelpreis); * } * warten(); * // in SQL: select volumen from Warenkatalog.warenkatalog * var artikelvolumen = from artikel in Warenkatalog.warenkatalog select artikel.art_volumen; // in LINQ Syntax * * * * foreach (var item in artikelvolumen) * { * Console.WriteLine("{0}",item ); * }*/ warten(); // Select mit berechnetem Ergebnis aus einer Spalte var artikelImRegal = from artikel in Warenkatalog.warenkatalog select(int)(1.0 / artikel.art_volumen); // in LINQ Syntax foreach (var item in artikelImRegal) { Console.WriteLine("{0}", item); } warten(); // Select mit berechnetem Ergebnis aus mehreren Spalten var Regalwert = from artikel in Warenkatalog.warenkatalog select((int)(1.0 / artikel.art_volumen)) * artikel.art_einzelpreis; // in LINQ Syntax foreach (var item in Regalwert) { Console.WriteLine("{0}", item); } warten(); // Select mit berechnetem Ergebnis aus mehreren Spalten und einer Spalte, wie AS in SQL var idUndRegalwert = from artikel in Warenkatalog.warenkatalog select new { id = artikel.art_id, wert = ((int)(1.0 / artikel.art_volumen)) * artikel.art_einzelpreis }; // in LINQ Syntax foreach (var item in idUndRegalwert) { Console.WriteLine("Regal {0} hat den Wert \t{1,4:F2}", item.id, item.wert); } warten(); }
// Warenkatalog laden per static void Main(string[] args) { Warenkatalog wk = new Warenkatalog(); DiscounterActor_ConsoleApplication.Kasse kasse = new DiscounterActor_ConsoleApplication.Kasse(ref wk); Verkauf v = new Verkauf("Im2.OG_Hohe Strasse", 400.0, ref Warenkatalog.warenkatalog); v.anzeigen(v.regale); // der ganze Raum ReadLine(); Lager l = new Lager("gemeinsamer Keller in Ossendorf", 270.0, ref Warenkatalog.warenkatalog); l.anzeigen(l.regale); WriteLine("{0}\t{1}", l.regale[810].regal_id, l.regale[810].aktuellerInhalt); DiscounterActor_ConsoleApplication.Lagerist lagermensch = new DiscounterActor_ConsoleApplication.Lagerist(); ReadLine(); /* DiscounterActor_ConsoleApplication.Kunde k = new DiscounterActor_ConsoleApplication.Kunde(); * k.einkaufswagen=k.wareEntnehmen(v); * v.anzeigen(v.regale); * k.bezahlen(ref kasse); // wird polymorph weitergegeben an kasse.kunde_abrechnen(); * // Kunde aus dem Speicher entfernen * // k = null; * // GC.Collect(); * ReadLine(); * * v.anzeigen(v.regale); * //kasse.fehlbestand_anzeigen(); * //ReadLine(); * * DiscounterActor_ConsoleApplication.Personal p = new DiscounterActor_ConsoleApplication.Personal(); * p.einkaufswagen = p.wareEntnehmen(v); * v.anzeigen(v.regale); * p.bezahlen(ref kasse); // wird polymorph weitergegeben an kasse.kunde_abrechnen(); * ReadLine(); * * v.anzeigen(v.regale); * * * DiscounterActor_ConsoleApplication.Kunde k2 = new DiscounterActor_ConsoleApplication.Kunde(); * k2.einkaufswagen = k2.wareEntnehmen(v,k2.einkaufsliste); * v.anzeigen(v.regale); * k2.bezahlen(ref kasse); * ReadLine(); * v.anzeigen(v.regale); * * //kasse.fehlbestand_anzeigen(v); * if(v.leereRegale >= 5) * { * kasse.nachfuellen_anfordern(ref v, ref l, lagermensch); * } * * // WriteLine("{0}\t{1}", v.regale[440].aktuellerInhalt, v.regale[440].nachfuellen); * ReadLine(); * v.anzeigen(v.regale); * l.anzeigen(l.regale); * // Console.WriteLine(); * DiscounterActor_ConsoleApplication.Kunde k3 = new DiscounterActor_ConsoleApplication.Kunde(); * k3.einkaufswagen = k3.wareEntnehmen(v, k3.einkaufsliste); * v.anzeigen(v.regale); * k3.bezahlen(ref kasse); * ReadLine(); * kasse.nachfuellen_anfordern(ref v,ref l, lagermensch); * v.anzeigen(v.regale); * l.anzeigen(l.regale); * ReadLine();*/ DiscounterActor_ConsoleApplication.Kunde[] menge = new DiscounterActor_ConsoleApplication.Kunde[20]; for (int i = 0; i < 20; i++) { menge[i] = new DiscounterActor_ConsoleApplication.Kunde(); menge[i].einkaufswagen = menge[i].wareEntnehmen(v); menge[i].bezahlen(ref kasse); if (v.leereRegale >= lagermensch.tragkraft) { kasse.nachfuellen_anfordern(ref v, ref l, lagermensch); } System.Threading.Thread.Sleep(3000); } v.anzeigen(v.regale); l.anzeigen(l.regale); ReadLine(); }