Example #1
0
        public void LöschePosition(Einkaufsposition position, bool erzwinge = false)
        {
            if (!erzwinge && !Einkaufsteuerung.IstLöschbar(position.Einkauf))
            {
                throw new InvalidOperationException("Aus diesem Einkauf kann keine Position mehr gelöscht werden.");
            }

            Kontext.Einkaufspositionen.Remove(position); // Nebeneffekt: Wird aus Einkauf gelöscht
            Kontext.SaveChanges();
            EinkaufspositionGelöscht?.Invoke(position);
        }
Example #2
0
        public void LöschePositionen(ICollection <Einkaufsposition> positionen, bool erzwinge = false)
        {
            if (!erzwinge && positionen.Any(p => !Einkaufsteuerung.IstLöschbar(p.Einkauf)))
            {
                throw new InvalidOperationException("Aus diesem Einkauf kann keine Position mehr gelöscht werden.");
            }

            Kontext.Einkaufspositionen.RemoveRange(positionen);
            Kontext.SaveChanges();
            foreach (var position in positionen)
            {
                EinkaufspositionGelöscht?.Invoke(position);
            }
        }