Exemple #1
0
        public void EntferneKategorie(string kategorie)
        {
            if (String.IsNullOrWhiteSpace(kategorie))
            {
                throw new ArtikelException("Kategorie darf nicht leer sein.");
            }

            if (!Kategorien.Any(k => k.Name.Equals(kategorie, StringComparison.InvariantCultureIgnoreCase)))
            {
                throw new ArtikelException("Kategorie existiert nicht");
            }

            var evt = new ArtikelKategorieEntferntEvent()
            {
                TimeStamp = DateTime.UtcNow,
                Version   = 1,
                Type      = nameof(ArtikelKategorieEntferntEvent),

                AggregateId = ArtikelNummer,
                Kategorie   = kategorie,
            };

            ApplyEvent(evt);
            OnEventRaised(new EventRaisedEventArgs(evt));
        }
        public AdminI18nKategorienModel(int typId, int kategorieId, int kategorieArt)
        {
            using (GastroEntities _db = new GastroEntities())
            {
                // 1 - Deutsch
                // 2 - Italienisch
                // 3 - Spanisch
                // 4 - Russisch
                // 5 - Englisch
                Kategorien all = (from Kategorien al in _db.Kategorien where al.id == kategorieId && al.Kategorieart == kategorieArt select al).FirstOrDefault();
                Deutsch_Bezeichnung = all.Bezeichnung;
                liste = (from I18n i18n in _db.I18n where i18n.Typ == typId && i18n.AllergenId == kategorieId select i18n).ToList();
                Englisch_Bezeichnung = (from I18n x in liste where x.SprachId == 5 select x.Bezeichnung).FirstOrDefault();
                Englisch_Header      = (from I18n x in liste where x.SprachId == 5 select x.Header).FirstOrDefault();
                Englisch_Footer      = (from I18n x in liste where x.SprachId == 5 select x.Footer).FirstOrDefault();

                Italienisch_Bezeichnung = (from I18n x in liste where x.SprachId == 2 select x.Bezeichnung).FirstOrDefault();
                Italienisch_Header      = (from I18n x in liste where x.SprachId == 2 select x.Header).FirstOrDefault();
                Italienisch_Footer      = (from I18n x in liste where x.SprachId == 2 select x.Footer).FirstOrDefault();

                Spanisch_Bezeichnung = (from I18n x in liste where x.SprachId == 3 select x.Bezeichnung).FirstOrDefault();
                Spanisch_Header      = (from I18n x in liste where x.SprachId == 3 select x.Header).FirstOrDefault();
                Spanisch_Footer      = (from I18n x in liste where x.SprachId == 3 select x.Footer).FirstOrDefault();

                Russisch_Bezeichnung = (from I18n x in liste where x.SprachId == 4 select x.Bezeichnung).FirstOrDefault();
                Russisch_Header      = (from I18n x in liste where x.SprachId == 4 select x.Header).FirstOrDefault();
                Russisch_Footer      = (from I18n x in liste where x.SprachId == 4 select x.Footer).FirstOrDefault();

                KategorieId  = kategorieId;
                KategorieArt = kategorieArt;
            }
        }
Exemple #3
0
 private void Apply(ArtikelKategorieAngelegtEvent evt)
 {
     Kategorien.Add(new ArtikelKategorie()
     {
         Artikel = this, ArtikelNummer = ArtikelNummer, Name = evt.Kategorie
     });
 }
Exemple #4
0
        /// <summary>
        /// Initialisiert die Datenbank mit dem Musterdatengenerator Bogus.
        /// Erfordert das NuGet Paket Bogus.
        /// </summary>
        public void Seed()
        {
            // Damit immer die gleichen Werte generiert werden, wird ein fixes Seed verwendet.
            Randomizer.Seed = new Random(201227);
            Faker f = new Faker();

            var kategorien = (from k in f.Commerce.Categories(20).Distinct()
                              select new Kategorie
            {
                Name = k
            }).Take(10).ToList();

            Kategorien.AddRange(kategorien);
            SaveChanges();

            var kunden = new Faker <Kunde>()
                         .Rules((f, k) =>
            {
                k.Vorname = f.Name.FirstName();
                k.Zuname  = f.Name.LastName();
                k.Adresse = f.Address.StreetAddress();
                k.Plz     = f.Random.Int(1000, 9999);
                k.Ort     = f.Address.City();
            })
                         .Generate(20);

            Kunden.AddRange(kunden);
            SaveChanges();

            var artikel = new Faker <Artikel>()
                          .Rules((f, a) =>
            {
                a.Ean           = f.Commerce.Ean13();
                a.Name          = f.Commerce.ProductName();
                a.Preis         = Math.Round(f.Random.Decimal(10, 1000), 4);
                a.Hersteller    = f.Company.CompanyName();
                a.ProduziertAb  = new DateTime(2018, 1, 1).AddDays(f.Random.Int(0, 2 * 365));
                a.EingestelltAb = a.ProduziertAb.AddDays(f.Random.Int(100, 365)).OrNull(f, 0.5f);
                a.Kategorie     = f.Random.ListItem(kategorien);
            })
                          .Generate(200).GroupBy(a => a.Name).Select(a => a.First())
                          .ToList();

            Artikel.AddRange(artikel);
            SaveChanges();

            var bestellungen = new Faker <Bestellung>()
                               .Rules((f, b) =>
            {
                b.Artikel   = f.Random.ListItem(artikel);
                b.Kunde     = f.Random.ListItem(kunden);
                b.Datum     = b.Artikel.ProduziertAb.AddSeconds(f.Random.Long(0, 1L * 365 * 86400));
                b.BezahltAm = b.Datum.AddSeconds(f.Random.Int(1 * 86400, 10 * 86400)).OrNull(f, 0.1f);
                b.Menge     = f.Random.Int(1, 5);
            }).Generate(200);

            Bestellungen.AddRange(bestellungen);
            SaveChanges();
        }
Exemple #5
0
        private void Apply(ArtikelKategorieEntferntEvent evt)
        {
            var kat = Kategorien.FirstOrDefault(k => k.Name.Equals(evt.Kategorie, StringComparison.InvariantCultureIgnoreCase));

            if (kat != null)
            {
                Kategorien.Remove(kat);
            }
        }
        public void AddCategoryToDatabase(Kategorien kategorien)
        {
            DAOKategorie dAOKategorie = new DAOKategorie();
            var          db           = new SQLiteConnection(pathToDb);

            dAOKategorie.title       = kategorien.titel;
            dAOKategorie.description = kategorien.beschreibung;
            db.Insert(dAOKategorie);
        }
Exemple #7
0
        private void Apply(ArtikelAngelegtEvent evt)
        {
            Bezeichnung = evt.Artikelbezeichnung;

            foreach (var kategorie in evt.Kategorien)
            {
                Kategorien.Add(new ArtikelKategorie()
                {
                    ArtikelNummer = ArtikelNummer, Name = kategorie, Artikel = this
                });
            }
        }
Exemple #8
0
        public void Seed()
        {
            Randomizer.Seed = new Random(3858);
            Faker f = new Faker("de");

            var bundeslaender = new string[] { "N", "W", "B" };
            var kunden        = new Faker <Kunde>()
                                .RuleFor(k => k.Vorname, f => f.Name.FirstName())
                                .RuleFor(k => k.Zuname, f => f.Name.LastName())
                                .RuleFor(k => k.Bundesland, f => f.Random.ListItem(bundeslaender))
                                .Generate(16)
                                .ToList();

            Kunden.AddRange(kunden);
            SaveChanges();

            var kategorien = new Faker <Kategorie>()
                             .RuleFor(k => k.Name, f => f.Commerce.ProductMaterial())
                             .Generate(4)
                             .ToList();

            Kategorien.AddRange(kategorien);
            SaveChanges();

            var artikel = new Faker <Artikel>()
                          .RuleFor(a => a.EAN, f => f.Commerce.Ean13())
                          .RuleFor(a => a.Name, f => f.Commerce.ProductName())
                          .RuleFor(a => a.Preis, f => Math.Round(Math.Min(226, f.Random.GaussianDecimal(200, 30)), 2))
                          .RuleFor(a => a.Kategorie, f => f.Random.ListItem(kategorien))
                          .Generate(16)
                          .ToList();

            Artikel.AddRange(artikel);
            SaveChanges();

            var bestellungen = new Faker <Bestellung>()
                               .RuleFor(b => b.Datum, f => new DateTime(2020, 1, 1).AddSeconds(f.Random.Double(0, 20 * 86400)))
                               .RuleFor(b => b.Kunde, f => f.Random.ListItem(kunden))
                               .Generate(64);

            Bestellungen.AddRange(bestellungen);

            var positionen = new Faker <Position>()
                             .RuleFor(p => p.Bestellung, f => f.Random.ListItem(bestellungen))
                             .RuleFor(p => p.Artikel, f => f.Random.ListItem(artikel))
                             .RuleFor(p => p.Menge, f => f.Random.Int(1, 10))
                             .Generate(128);

            Positionen.AddRange(positionen);
            SaveChanges();
        }
        public Collection <Kategorien> getAllKategorien()
        {
            Collection <Kategorien> kategorien = new Collection <Kategorien>();
            var db = new SQLiteConnection(pathToDb);

            var tableOfKategorien = db.Table <DAOKategorie>();

            foreach (DAOKategorie daoKategorie in tableOfKategorien)
            {
                Kategorien newKategorie = new Kategorien(daoKategorie.title, daoKategorie.description);
                newKategorie.id = daoKategorie.Id;
                kategorien.Add(newKategorie);
            }

            return(kategorien);
        }
 private void buttonSaveCategoryClicked(object sender, EventArgs e)
 {
     //Prüft ob alle Felder gefüllt sind
     if (entryCategoryTitel.Text != null && !entryCategoryTitel.Text.Trim().Equals(""))
     {
         if (entryCategoryTitel.Text.Length <= 50)
         {
             Kategorien categorie = new Kategorien();
             categorie.titel        = entryCategoryTitel.Text;
             categorie.beschreibung = entryCategoryDescribtion.Text;
             Kategorien.kategorien.Add(categorie);
             SQLiteHelper db = new SQLiteHelper();
             db.AddCategoryToDatabase(categorie);
             Navigation.PushAsync(new MainPage());
         }
     }
 }
        public HomeGetränkeModel()
        {
            AlleKategorien = new List <KategorienFuerModel>();
            using (GastroEntities _db = new GastroEntities())
            {
                List <Kategorien> alleKategorien = KategorienHelper.LoadKategorien(2);
                List <Getränke>   AlleGetränke   = (from Getränke mt in _db.Getränke where mt.IstAktiv orderby mt.Sortierung ascending select mt).ToList();
                foreach (Kategorien kat in alleKategorien)
                {
                    KategorienFuerModel kfm = new KategorienFuerModel();
                    kfm.Kategorie = kat;
                    kfm.SelectedKategorieHasChilds = (from Kategorien k in _db.Kategorien where k.Oberkategorie == kat.id select k).Any();
                    kfm.SelectedKategorieHasItems  = (from Getränke mt in _db.Getränke where mt.KategorieId == kat.id select mt).Any();

                    bool checker       = true;
                    int  levelCounter  = 0;
                    int  oberkategorie = (int)kat.Oberkategorie;
                    while (checker)
                    {
                        Kategorien _kat = (from Kategorien k in _db.Kategorien where k.id == oberkategorie select k).FirstOrDefault();
                        if (_kat != null)
                        {
                            levelCounter++;
                            kfm.Level     = levelCounter;
                            oberkategorie = (int)_kat.Oberkategorie;
                        }
                        else
                        {
                            checker = false;
                        }
                    }
                    AlleKategorien.Add(kfm);
                    //Internationalisieren
                    int sprachId = CultureHelper.GetCurrentCultureId();
                    if (sprachId != 1)
                    {
                        foreach (KategorienFuerModel all in AlleKategorien)
                        {
                            var element = (from I18n i18n in _db.I18n where i18n.Typ == 3 && i18n.AllergenId == all.Kategorie.id && i18n.SprachId == sprachId select i18n).FirstOrDefault();
                            if (element != null)
                            {
                                all.Kategorie.Bezeichnung = element.Bezeichnung;
                                all.Kategorie.Header      = element.Header;
                                all.Kategorie.Footer      = element.Footer;
                            }
                        }
                    }

                    List <Getränke> TempSpeisen = new List <Getränke>();
                    foreach (Getränke mt in AlleGetränke)
                    {
                        if (mt.KategorieId == kat.id)
                        {
                            //Internationalisieren
                            var element = (from I18n i18n in _db.I18n where i18n.Typ == 2 && i18n.AllergenId == mt.id && i18n.SprachId == sprachId select i18n).FirstOrDefault();
                            if (element != null)
                            {
                                mt.Bezeichnung = element.Bezeichnung;
                                mt.Ergänzung1  = element.Ergänzung1;
                                mt.Ergänzung2  = element.Ergänzung2;
                            }
                            List <string> liste = (from AllergeneGetränkeIdSpeiseId amsid in _db.AllergeneGetränkeIdSpeiseId
                                                   join Allergene al in _db.Allergene on amsid.aid equals al.id
                                                   where amsid.sid == mt.id
                                                   select al.Nummer).ToList();
                            StringBuilder sb  = new StringBuilder();
                            string        txt = "";
                            if (liste.Count > 0)
                            {
                                sb.Append("(");
                                foreach (string item in liste)
                                {
                                    sb.Append(item + ", ");
                                }
                                sb.Append(")");
                                txt = sb.ToString().Replace(", )", ")");
                                AllergeneZuSpeisen.Add(mt.id, txt);
                            }
                            TempSpeisen.Add(mt);
                        }
                    }
                    AlleSpeisenZuDenKategorien.Add(kat.id, TempSpeisen);
                }
            }
        }
        public static Collection <Fragen> getAllFragen()
        {
            Collection <Fragen> fragen = new Collection <Fragen>();
            var db = new SQLiteConnection(pathToDb);

            var tableOfFragen         = db.Table <DAOFrage>();
            var tableOfAntworten      = db.Table <DAOAntwort>();
            var tableOfFrageAntwort   = db.Table <DAOFrageAntwort>();
            var tableOfFrageKategorie = db.Table <DAOFrageKategorie>();
            var tableOfKategorien     = db.Table <DAOKategorie>();

            foreach (DAOFrage daoFrage in tableOfFragen)
            {
                Fragen newFrage = new Fragen();
                //set id erstmal ausgelassen
                newFrage.setText(daoFrage.text);
                newFrage.setErklärung(daoFrage.explanation);
                newFrage.setId(daoFrage.Id);
                //add Antwort
                foreach (DAOAntwort daoAntwort in tableOfAntworten)
                {
                    foreach (DAOFrageAntwort fa in tableOfFrageAntwort)
                    {
                        if (fa.FID == daoFrage.Id && fa.AID == daoAntwort.Id)
                        {
                            Antworten newAntwort = new Antworten(daoAntwort.text, daoAntwort.isCorrect);
                            newFrage.setAntworten(newAntwort);
                        }

                        if (fa.id > DAOFrageAntwort.lastId)
                        {
                            DAOFrageAntwort.lastId = fa.id;
                        }
                    }

                    if (daoAntwort.Id > DAOAntwort.lastId)
                    {
                        DAOAntwort.lastId = daoAntwort.Id;
                    }
                }

                //add Kategorie
                foreach (DAOKategorie daoKategorie in tableOfKategorien)
                {
                    foreach (DAOFrageKategorie fk in tableOfFrageKategorie)
                    {
                        if (fk.FID == daoFrage.Id && fk.KID == daoKategorie.Id)
                        {
                            Kategorien newKategorie = new Kategorien(daoKategorie.title, daoKategorie.description);
                            newFrage.setKategorie(newKategorie);
                        }

                        if (fk.id > DAOFrageKategorie.lastId)
                        {
                            DAOFrageKategorie.lastId = fk.id;
                        }
                    }

                    if (daoKategorie.Id > DAOKategorie.lastId)
                    {
                        DAOKategorie.lastId = daoKategorie.Id;
                    }
                }

                if (newFrage.getId() > DAOFrage.lastId)
                {
                    DAOFrage.lastId = newFrage.getId();
                }

                fragen.Add(newFrage);
            }
            return(fragen);
        }
Exemple #13
0
 private void Apply(ArtikelGeloeschtEvent evt)
 {
     ArtikelNummer = -1;
     Bezeichnung   = null;
     Kategorien.Clear();
 }
Exemple #14
0
        internal void Seed()
        {
            Randomizer.Seed = new Random(8675309);
            Faker f = new Faker();

            var kategorien = new List <Kategorie>
            {
                new Kategorie {
                    Name = "Pizza"
                },
                new Kategorie {
                    Name = "Pasti"
                },
                new Kategorie {
                    Name = "Pesce"
                },
            };

            Kategorien.AddRange(kategorien); SaveChanges();

            var produkte = new List <Produkt>
            {
                new Produkt {
                    Name = "Marinara", Kategorie = kategorien[0], Preis = 5.00M
                },
                new Produkt {
                    Name = "Margherita", Kategorie = kategorien[0], Preis = 6.00M
                },
                new Produkt {
                    Name = "Cipolla", Kategorie = kategorien[0], Preis = 7.00M
                },
                new Produkt {
                    Name = "Alla Napoletana", Kategorie = kategorien[1], Preis = 6.50M
                },
                new Produkt {
                    Name = "All Arabiata", Kategorie = kategorien[1], Preis = 7.50M
                },
                new Produkt {
                    Name = "Alla Bolognese", Kategorie = kategorien[1], Preis = 7.50M
                },
                new Produkt {
                    Name = "Schollenfilet gebacken", Kategorie = kategorien[2], Preis = 9.50M
                },
                new Produkt {
                    Name = "Natur gebratenes Schollenfilet", Kategorie = kategorien[2], Preis = 9.50M
                },
                new Produkt {
                    Name = "Miesmuscheln", Kategorie = kategorien[2], Preis = 11.50M
                },
            };

            Produkte.AddRange(produkte); SaveChanges();

            var liefergebiete = new List <Liefergebiet>
            {
                new Liefergebiet {
                    Plz = 1040, Ort = "Wien", Lieferzuschlag = 5M
                },
                new Liefergebiet {
                    Plz = 1050, Ort = "Wien", Lieferzuschlag = 5M
                },
                new Liefergebiet {
                    Plz = 1060, Ort = "Wien", Lieferzuschlag = 5M
                },
                new Liefergebiet {
                    Plz = 1160, Ort = "Wien", Lieferzuschlag = 8M
                },
                new Liefergebiet {
                    Plz = 1170, Ort = "Wien", Lieferzuschlag = 8M
                },
                new Liefergebiet {
                    Plz = 1180, Ort = "Wien", Lieferzuschlag = 8M
                }
            };

            Liefergebiete.AddRange(liefergebiete); SaveChanges();

            var kunden = new List <Kunde>
            {
                new Kunde {
                    Vorname = "Lukas", Zuname = "Müller", Email = "*****@*****.**"
                },
                new Kunde {
                    Vorname = "Konstantin", Zuname = "Schmidt", Email = "*****@*****.**"
                },
                new Kunde {
                    Vorname = "Ben", Zuname = "Schneider", Email = "*****@*****.**"
                },
                new Kunde {
                    Vorname = "Jonas", Zuname = "Fischer", Email = "*****@*****.**"
                },
                new Kunde {
                    Vorname = "Elias", Zuname = "Weber", Email = "*****@*****.**"
                },
                new Kunde {
                    Vorname = "Niklas", Zuname = "Meyer", Email = "*****@*****.**"
                },
                new Kunde {
                    Vorname = "David", Zuname = "Wagner", Email = "*****@*****.**"
                },
                new Kunde {
                    Vorname = "Oskar", Zuname = "Becker", Email = "*****@*****.**"
                },
                new Kunde {
                    Vorname = "Philipp", Zuname = "Schulz", Email = "*****@*****.**"
                }
            };

            foreach (var k in f.Random.ListItems(kunden, (int)(0.8 * kunden.Count)))
            {
                var bestellungen = new Faker <Bestellung>().Rules((f, b) =>
                {
                    b.Adresse      = f.Address.StreetAddress();
                    b.Liefergebiet = f.Random.ListItem(liefergebiete);
                    b.Kunde        = f.Random.ListItem(kunden);
                    b.Bestellzeit  = new DateTime(2020, 5, 1, 0, 0, 0).AddSeconds(f.Random.Int(0, 5 * 86400));
                }).Generate(f.Random.Int(1, 3));
                foreach (var b in bestellungen)
                {
                    var produktBestellungen = new Faker <ProduktBestellung>().Rules((f, p) =>
                    {
                        p.Menge      = f.Random.Int(1, 3);
                        p.Produkt    = f.Random.ListItem(produkte);
                        p.Bestellung = b;
                    }).Generate(f.Random.Int(1, 5));
                    b.ProduktBestellungen = produktBestellungen
                                            .GroupBy(pb => new { pb.Bestellung, pb.Produkt })
                                            .Select(g => g.FirstOrDefault())
                                            .ToList();
                }
                k.Bestellungen = bestellungen;
            }
            Kunden.AddRange(kunden); SaveChanges();
        }