Exemple #1
0
 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()
Exemple #2
0
        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);
        }
Exemple #3
0
 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
 }
Exemple #4
0
        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;
            }
        }
Exemple #5
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
        }