public void FügeHinzu(Abrechnung abrechnung, ICollection <Produkt> produkte)
        {
            produkte = produkte.Except(abrechnung.Produkte).ToList();
            if (produkte.Count == 0)
            {
                return;
            }

            using (var transaktion = Kontext.Database.BeginOrReuseTransaction())
            {
                var verkaufsprodukte = produkte.Select(p => new Verkaufsprodukt()
                {
                    Produkt = p, Bestand = 0, Verkaufspreis = p.AktuellerVerkaufspreis
                }).ToList();
                Verbrauchsteuerung.NeueVerbrauche(abrechnung, verkaufsprodukte.SelectMany(p => abrechnung.Benutzer.Select(b => new Verbrauch()
                {
                    Benutzer = b, Verkaufsprodukt = p, AnzahlFlaschen = 0
                })).ToList());
                Verkaufsproduktsteuerung.NeueVerkaufsprodukte(abrechnung, verkaufsprodukte);

                BearbeiteAbrechnung(abrechnung);

                transaktion?.Commit();
            }
        }
 public void FügeHinzu(Abrechnung abrechnung, ICollection <Benutzer> benutzer)
 {
     abrechnung.Benutzer.AddRange(benutzer);
     Verbrauchsteuerung.NeueVerbrauche(abrechnung, abrechnung.Verkaufsprodukte.SelectMany(p => benutzer.Select(b => new Verbrauch()
     {
         Benutzer = b, Verkaufsprodukt = p, AnzahlFlaschen = 0
     })).ToList());
     BearbeiteAbrechnung(abrechnung);
 }
 public void FügeHinzu(Abrechnung abrechnung, Benutzer benutzer)
 {
     abrechnung.Benutzer.Add(benutzer);
     Verbrauchsteuerung.NeueVerbrauche(abrechnung, abrechnung.Verkaufsprodukte.Select(p => new Verbrauch()
     {
         Benutzer = benutzer, Verkaufsprodukt = p, AnzahlFlaschen = 0
     }).ToList());
     BearbeiteAbrechnung(abrechnung);
 }
        public void FügeHinzu(Abrechnung abrechnung, Produkt produkt)
        {
            if (abrechnung.Produkte.Contains(produkt))
            {
                return;
            }

            var verkaufsprodukt = new Verkaufsprodukt()
            {
                Produkt = produkt, Bestand = 0, Verkaufspreis = produkt.AktuellerVerkaufspreis
            };

            Verbrauchsteuerung.NeueVerbrauche(abrechnung, abrechnung.Benutzer.Select(b => new Verbrauch()
            {
                Benutzer = b, Verkaufsprodukt = verkaufsprodukt, AnzahlFlaschen = 0
            }).ToList());
            Verkaufsproduktsteuerung.NeuesVerkaufsprodukt(abrechnung, verkaufsprodukt);
            BearbeiteAbrechnung(abrechnung);
        }