示例#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));
        }
示例#2
0
        private void Apply(ArtikelKategorieEntferntEvent evt)
        {
            var kat = Kategorien.FirstOrDefault(k => k.Name.Equals(evt.Kategorie, StringComparison.InvariantCultureIgnoreCase));

            if (kat != null)
            {
                Kategorien.Remove(kat);
            }
        }