public void Entferne(Abrechnung abrechnung, Produkt produkt)
        {
            if (!KannEntferntWerden(abrechnung, produkt))
            {
                return;
            }

            Verbrauchsteuerung.LöscheVerbrauche(abrechnung.Verbrauche.Where(v => v.Verkaufsprodukt.Produkt == produkt).ToList());
            Verkaufsproduktsteuerung.LöscheVerkaufsprodukt(abrechnung.Verkaufsprodukte.Single(b => b.Produkt == produkt));
            BearbeiteAbrechnung(abrechnung);
        }
        public void Entferne(Abrechnung abrechnung, ICollection <Benutzer> benutzer)
        {
            foreach (var ben in benutzer)
            {
                abrechnung.Benutzer.Remove(ben);
            }

            var hashBenutzer = benutzer.ToHashSet(); // höhöhö

            Verbrauchsteuerung.LöscheVerbrauche(abrechnung.Verbrauche.Where(v => hashBenutzer.Contains(v.Benutzer)).ToList());
            BearbeiteAbrechnung(abrechnung);
        }
        public void Entferne(Abrechnung abrechnung, ICollection <Produkt> produkte)
        {
            produkte = produkte.Except(BenötigteProdukte(abrechnung)).ToList();
            if (produkte.Count == 0)
            {
                return;
            }

            using (var transaktion = Kontext.Database.BeginOrReuseTransaction())
            {
                var hashProdukte = produkte.ToHashSet(); // höhöhöhöhöhö
                Verbrauchsteuerung.LöscheVerbrauche(abrechnung.Verbrauche.Where(v => hashProdukte.Contains(v.Verkaufsprodukt.Produkt)).ToList());
                Verkaufsproduktsteuerung.LöscheVerkaufsprodukte(abrechnung.Verkaufsprodukte.Where(b => hashProdukte.Contains(b.Produkt)).ToList());
                BearbeiteAbrechnung(abrechnung);

                transaktion?.Commit();
            }
        }
 public void Entferne(Abrechnung abrechnung, Benutzer benutzer)
 {
     abrechnung.Benutzer.Remove(benutzer);
     Verbrauchsteuerung.LöscheVerbrauche(abrechnung.Verbrauche.Where(v => v.Benutzer == benutzer).ToList());
     BearbeiteAbrechnung(abrechnung);
 }