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); }