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)); }
private void Apply(ArtikelKategorieEntferntEvent evt) { var kat = Kategorien.FirstOrDefault(k => k.Name.Equals(evt.Kategorie, StringComparison.InvariantCultureIgnoreCase)); if (kat != null) { Kategorien.Remove(kat); } }