internal void LöscheVerbrauch(Verbrauch verbrauch) { verbrauch.Abrechnung.Verbrauche.Remove(verbrauch); verbrauch.Abrechnung = null; Kontext.SaveChanges(); VerbrauchGelöscht?.Invoke(verbrauch); }
public void FügeHinzu(Produkt produkt, Kastengröße kastengröße) { produkt.Kastengrößen.Add(kastengröße); kastengröße.Produkt = produkt; Kontext.SaveChanges(); KastengrößeHinzugefügt?.Invoke(kastengröße); }
internal void NeuerVerbrauch(Abrechnung abrechnung, Verbrauch verbrauch) { abrechnung.Verbrauche.Add(verbrauch); verbrauch.Abrechnung = abrechnung; Kontext.SaveChanges(); VerbrauchHinzugefügt?.Invoke(verbrauch); }
public void LöscheEinkauf(Einkauf einkauf) { if (!IstLöschbar(einkauf)) { throw new InvalidOperationException("Dieser Einkauf ist nicht löschbar, er ist Teil einer schon abgerechneten Abrechnung."); } using (var transaktion = Kontext.Database.BeginOrReuseTransaction()) { if (einkauf.Abrechnung != null) { Abrechnungssteuerung.Entferne(einkauf.Abrechnung, einkauf); } Einkaufspositionssteuerung.LöschePositionen(einkauf.Positionen.ToList(), erzwinge: true); var überweisung = einkauf.Überweisung; Überweisungssteuerung.StorniereÜberweisung(überweisung, erzwinge: true); einkauf.Überweisung = null; Kontext.Einkäufe.Remove(einkauf); Kontext.SaveChanges(); transaktion?.Commit(); } EinkaufGelöscht?.Invoke(einkauf); }
public void BearbeiteKastengröße(Kastengröße kastengröße) { if (!KannBearbeitetWerden(kastengröße)) { throw new InvalidOperationException("Diese Kastengröße kann nicht gelöscht werden."); } Kontext.SaveChanges(); KastengrößeBearbeitet?.Invoke(kastengröße); }
public void BearbeitePosition(Einkaufsposition position) { if (!Einkaufsteuerung.IstLöschbar(position.Einkauf)) { throw new InvalidOperationException("Die Position dieses Einkaufs kann nicht mehr bearbeitet werden."); } Kontext.SaveChanges(); EinkaufspositionVerändert?.Invoke(position); }
public void BearbeiteVerkaufsprodukt(Verkaufsprodukt verkaufsprodukt) { if (verkaufsprodukt.Abrechnung.Gebucht) { throw new InvalidOperationException("Bestände von gebuchten Abrechnungen können nicht mehr verändert werden."); } Kontext.SaveChanges(); VerkaufsproduktVerändert?.Invoke(verkaufsprodukt); }
internal void LöscheVerbrauche(ICollection <Verbrauch> verbrauche) { foreach (var verbrauch in verbrauche) { verbrauch.Abrechnung.Verbrauche.Remove(verbrauch); verbrauch.Abrechnung = null; VerbrauchGelöscht?.Invoke(verbrauch); } Kontext.SaveChanges(); }
internal void NeueVerbrauche(Abrechnung abrechnung, ICollection <Verbrauch> verbrauche) { abrechnung.Verbrauche.AddRange(verbrauche); foreach (var verbrauch in verbrauche) { verbrauch.Abrechnung = abrechnung; VerbrauchHinzugefügt?.Invoke(verbrauch); } Kontext.SaveChanges(); }
public void LöschePosition(Einkaufsposition position, bool erzwinge = false) { if (!erzwinge && !Einkaufsteuerung.IstLöschbar(position.Einkauf)) { throw new InvalidOperationException("Aus diesem Einkauf kann keine Position mehr gelöscht werden."); } Kontext.Einkaufspositionen.Remove(position); // Nebeneffekt: Wird aus Einkauf gelöscht Kontext.SaveChanges(); EinkaufspositionGelöscht?.Invoke(position); }
public void Lösche(Kastengröße kastengröße) { if (!KannGelöschtWerden(kastengröße)) { throw new InvalidOperationException("Diese Kastengröße kann nicht gelöscht werden, sie ist Teil eines noch nicht abgerechneten Einkaufs."); } kastengröße.Versteckt = true; Kontext.SaveChanges(); KastengrößeBearbeitet?.Invoke(kastengröße); }
internal void NeuesVerkaufsprodukt(Abrechnung abrechnung, Verkaufsprodukt verkaufsprodukt) { if (abrechnung.Gebucht) { throw new InvalidOperationException("Zu gebuchten Abrechnungen können keine Bestände mehr hinzugefügt werden."); } verkaufsprodukt.Abrechnung = abrechnung; abrechnung.Verkaufsprodukte.Add(verkaufsprodukt); Kontext.SaveChanges(); VerkaufsproduktHinzugefügt?.Invoke(verkaufsprodukt); }
public void SetzeAktiv(ICollection <Benutzer> benutzer, bool aktiv) { foreach (var b in benutzer) { b.Aktiv = aktiv; } Kontext.SaveChanges(); foreach (var b in benutzer) { BenutzerVerändert?.Invoke(b); } }
internal void LöscheVerkaufsprodukt(Verkaufsprodukt verkaufsprodukt) { if (verkaufsprodukt.Abrechnung.Gebucht) { throw new InvalidOperationException("Aus gebuchten Abrechnungen können keine Bestände mehr gelöscht werden."); } verkaufsprodukt.Abrechnung.Verkaufsprodukte.Remove(verkaufsprodukt); VerkaufsproduktGelöscht?.Invoke(verkaufsprodukt); verkaufsprodukt.Abrechnung = null; Kontext.Verkaufsprodukte.Remove(verkaufsprodukt); Kontext.SaveChanges(); }
public void LöschePositionen(ICollection <Einkaufsposition> positionen, bool erzwinge = false) { if (!erzwinge && positionen.Any(p => !Einkaufsteuerung.IstLöschbar(p.Einkauf))) { throw new InvalidOperationException("Aus diesem Einkauf kann keine Position mehr gelöscht werden."); } Kontext.Einkaufspositionen.RemoveRange(positionen); Kontext.SaveChanges(); foreach (var position in positionen) { EinkaufspositionGelöscht?.Invoke(position); } }
internal void NeueVerkaufsprodukte(Abrechnung abrechnung, ICollection <Verkaufsprodukt> verkaufsprodukte) { if (abrechnung.Gebucht) { throw new InvalidOperationException("Zu gebuchten Abrechnungen können keine Bestände mehr hinzugefügt werden."); } foreach (var verkaufsprodukt in verkaufsprodukte) { verkaufsprodukt.Abrechnung = abrechnung; abrechnung.Verkaufsprodukte.Add(verkaufsprodukt); VerkaufsproduktHinzugefügt?.Invoke(verkaufsprodukt); } Kontext.SaveChanges(); }
internal void LöscheVerkaufsprodukte(ICollection <Verkaufsprodukt> verkaufsprodukte) { foreach (var verkaufsprodukt in verkaufsprodukte) { if (verkaufsprodukt.Abrechnung.Gebucht) { throw new InvalidOperationException("Zu gebuchten Abrechnungen können keine Bestände mehr hinzugefügt werden."); } verkaufsprodukt.Abrechnung.Verkaufsprodukte.Remove(verkaufsprodukt); VerkaufsproduktGelöscht?.Invoke(verkaufsprodukt); verkaufsprodukt.Abrechnung = null; Kontext.Verkaufsprodukte.Remove(verkaufsprodukt); } Kontext.SaveChanges(); }
public void NeuePosition(Einkaufsposition position, Einkauf einkauf) { if (!Einkaufsteuerung.IstLöschbar(einkauf)) { throw new InvalidOperationException("Zu diesem Einkauf kann keine Position mehr hinzugefügt werden."); } position.Einkauf = einkauf; einkauf.Positionen.Add(position); if (einkauf.Abrechnung != null && !einkauf.Abrechnung.Produkte.Contains(position.Kastengröße.Produkt)) { Abrechnungssteuerung.FügeHinzu(einkauf.Abrechnung, position.Kastengröße.Produkt); } Kontext.SaveChanges(); EinkaufspositionHinzugefügt?.Invoke(position); }
public void LöscheAbrechnung(Abrechnung abrechnung) { if (abrechnung.Gebucht) { throw new InvalidOperationException("Diese Abrechnung kann nicht gelöscht werden, sie ist bereits gebucht."); } using (var transaktion = Kontext.Database.BeginOrReuseTransaction()) { Entferne(abrechnung, abrechnung.Benutzer.ToList()); Entferne(abrechnung, abrechnung.Einkäufe.ToList()); Entferne(abrechnung, abrechnung.Produkte.ToList()); Kontext.Abrechnungen.Remove(abrechnung); Kontext.SaveChanges(); transaktion?.Commit(); } AbrechnungGelöscht?.Invoke(abrechnung); }
public void BearbeiteBenutzer(Benutzer benutzer) { Kontext.SaveChanges(); BenutzerVerändert?.Invoke(benutzer); }
public void BearbeiteVerbrauch(Verbrauch verbrauch) { Kontext.SaveChanges(); VerbrauchBearbeitet?.Invoke(verbrauch); }
public void BearbeiteProdukt(Produkt produkt) { Kontext.SaveChanges(); ProduktVerändert?.Invoke(produkt); }
public void NeuesProdukt(Produkt produkt) { Kontext.Produkte.Add(produkt); Kontext.SaveChanges(); ProduktHinzugefügt?.Invoke(produkt); }
public void NeuerEinkauf(Einkauf einkauf) { Kontext.Einkäufe.Add(einkauf); Kontext.SaveChanges(); EinkaufHinzugefügt?.Invoke(einkauf); }
public void BearbeiteZahlung(Zahlung zahlung) { Kontext.SaveChanges(); ZahlungVerändert?.Invoke(zahlung); }
public void NeueAbrechnung(Abrechnung abrechnung) { Kontext.Abrechnungen.Add(abrechnung); Kontext.SaveChanges(); AbrechnungHinzugefügt?.Invoke(abrechnung); }
public void BearbeiteAbrechnung(Abrechnung abrechnung) { Kontext.SaveChanges(); AbrechnungVerändert?.Invoke(abrechnung); }
public void BearbeiteKonto(Konto konto) { Kontext.SaveChanges(); KontoVerändert?.Invoke(konto); }
public void NeuerBenutzer(Benutzer benutzer) { Kontext.Benutzer.Add(benutzer); Kontext.SaveChanges(); BenutzerHinzugefügt?.Invoke(benutzer); }
public void BearbeiteEinkauf(Einkauf einkauf) { Kontext.SaveChanges(); EinkaufVerändert?.Invoke(einkauf); }