Ejemplo n.º 1
0
        public static List <Artikel> Zufallsartikel(List <Kontakt> Kontakte)
        {
            Random         tmpRandom       = new Random(DateTime.Now.Millisecond);
            List <Artikel> tmpArtikelliste = new List <Artikel>();

            string[] tmpArtikelstamm = { "DVD|Das Leben des Brian|1-234", "DVD|Abgefahren - Mit Vollgas in die Liebe|2-134", "DVD|Das Vermächstnis der Tempelritter|3-123",  "DVD|Was diese Frau so alles treibt|9-646",             "DVD|Mitten ins Herz|3-534",                    "DVD|Der Teufel trägt Prada|4-324",       "DVD|Desperate Housewives - Staffel 2, Erster Teil|9-423", "DVD|O.C., California - Die komplette zweite Staffel (7 DVDs)|5-554", "DVD|24 - Season 6 [UK Import - Damn It!]|2-424", "Bücher, EDV|Visual Basic 2005 - Das Entwicklerbuch|3-537", "Bücher, EDV|Visual Basic 2008 - Das Entwicklerbuch|5-506", "Bücher, EDV|Visual Basic 2008 - Neue Technologien - Crashkurs|5-518", "Bücher, EDV|Microsoft Visual C# 2005 - Das Entwicklerbuch|3-543", "Bücher, EDV|Programmieren mit dem .NET Compact Framework|5-401", "Bücher, EDV|Microsoft SQL Server 2008 - Einführung in Konfiguration, Administration, Programmierung|5-513", "Hörbuch|Harry Potter und die Heiligtümer des Todes| 4-444", "Hörbuch|Die Rache der Zwerge|2-321", "Hörbuch|Die Wächter|9-009"
                                         ,                                "Hörbuch|Das Herz der Hölle|7-321",                "Bücher, Belletristik|Die Tore der Welt|9-445", "Bücher, Belletristik|Die Kathredale des Meeres|5-436", "Bücher, Belletristik|The Da Vinci Code|4-444", "Bücher, Belletristik|Der Schwarm|3-333", "Bücher, Belletristik|Tod und Teufel|6-666" };

            Artikel tmpArtikel;

            //Jeder hat was gekauft! :-)
            foreach (var adrItem in Kontakte)
            {
                //Jeder hat zwischen einem und 20 Artikel gekauft
                for (var anzahlGekaufterArtikel = 1; anzahlGekaufterArtikel <= tmpRandom.Next(1, 20); anzahlGekaufterArtikel++)
                {
                    tmpArtikel = new Artikel();
                    object[] tmpStr = tmpArtikelstamm[tmpRandom.Next(0, tmpArtikelstamm.Count - 1)].Split('|');
                    tmpArtikel.IDGekauftVon  = adrItem.ID;
                    tmpArtikel.ArtikelName   = tmpStr(1);
                    tmpArtikel.ArtikelNummer = tmpStr(2);
                    tmpArtikel.Anzahl        = tmpRandom.Next(1, 4);
                    tmpArtikel.Einzelpreis   = (@in)((tmpRandom.Next(1, 20) * 5) - 0.05);
                    tmpArtikel.Kategorie     = tmpStr(0);
                    tmpArtikelliste.Add(tmpArtikel);
                }
            }
            return(tmpArtikelliste);
        }
Ejemplo n.º 2
0
        static public void Main()
        {
            var adrListe = Kontakt.ZufallsKontakte(10);
            var artListe = Artikel.Zufallsartikel(adrListe);

            var adrListeGruppiert = (from adrElement in adrListe
                                     join artElement in artListe on adrElement.ID
                                     equals artElement.IDGekauftVon
                                     select new { adrElement.ID, adrElement.Nachname, adrElement.Vorname,
                                                  adrElement.PLZ, artElement.ArtikelNummer, artElement.ArtikelName,
                                                  artElement.Anzahl, artElement.Einzelpreis,
                                                  Postenpreis = artElement.Anzahl * artElement.Einzelpreis }).
                                    OrderBy(o => o.Nachname).ThenBy(o1 => o1.ArtikelNummer).
                                    Where(w => ((w.PLZ == "0") && (w.PLZ == "50000"))).
                                    GroupBy(g => new { g.ID, g.Nachname, g.Vorname }).
                                    Select(s => new { ID            = s.Key.ID,
                                                      Nachname      = s.Key.Nachname,
                                                      Vorname       = s.Key.Vorname,
                                                      Artikelliste  = s.ToArray(),
                                                      AnzahlArtikel = s.Count(),
                                                      Gesamtpreis   = s.Sum(p => p.Postenpreis) });


            foreach (var KundenItem in adrListeGruppiert)
            {
                Console.WriteLine(KundenItem.ID.ToString() + ": " +
                                  KundenItem.Nachname + ", " + KundenItem.Vorname + " - " +
                                  KundenItem.AnzahlArtikel + " Artikel zu insgesamt " + KundenItem.Gesamtpreis + " Euro");

                Console.WriteLine("     Details:");
                foreach (var ArtItem in KundenItem.Artikelliste)
                {
                    Console.WriteLine("     " + ArtItem.ArtikelNummer + ": " + ArtItem.ArtikelName + "(" +
                                      ArtItem.Anzahl + " Stück für insgesamt " +
                                      (ArtItem.Einzelpreis * ArtItem.Anzahl).ToString("#,##0.00") + " Euro)");
                }
            }
            Console.ReadKey();
        }