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 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 Datenbanksteuerung() : base(null) { kontext = null; abrechnungssteuerung = new Abrechnungssteuerung(this); benutzersteuerung = new Benutzersteuerung(this); einkaufsteuerung = new Einkaufsteuerung(this); einkaufspositionssteuerung = new Einkaufspositionssteuerung(this); kastengrößensteuerung = new Kastengrößensteuerung(this); kontosteuerung = new Kontosteuerung(this); produktsteuerung = new Produktsteuerung(this); überweisungssteuerung = new Überweisungssteuerung(this); verbrauchsteuerung = new Verbrauchsteuerung(this); verkaufsproduktsteuerung = new Verkaufsproduktsteuerung(this); zahlungssteuerung = new Zahlungssteuerung(this); }
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 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); }
public void Entferne(Abrechnung abrechnung, Benutzer benutzer) { abrechnung.Benutzer.Remove(benutzer); Verbrauchsteuerung.LöscheVerbrauche(abrechnung.Verbrauche.Where(v => v.Benutzer == benutzer).ToList()); BearbeiteAbrechnung(abrechnung); }