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