public void BucheUm(Konto vonKonto, Konto nachKonto, double betrag) { vonKonto.BucheUm(nachKonto, betrag, out Überweisung vonÜberweisung, out Überweisung nachÜberweisung); Überweisungssteuerung.NeueÜberweisung(vonÜberweisung); Überweisungssteuerung.NeueÜberweisung(nachÜberweisung); }
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 NeuerEinkauf(Einkauf einkauf, Konto konto) { var überweisung = einkauf.RechneAb(konto); Überweisungssteuerung.NeueÜberweisung(überweisung); NeuerEinkauf(einkauf); }
public void SetzeKaution(Benutzer benutzer, double neueKaution, Konto konto) { var zahlung = benutzer.SetzeKaution(neueKaution, konto); Zahlungssteuerung.NeueZahlung(zahlung); if (zahlung.Überweisung != null) { Überweisungssteuerung.NeueÜberweisung(zahlung.Überweisung); } }
public void StorniereZahlung(Zahlung zahlung) { if (!zahlung.Löschbar) { throw new InvalidOperationException("Diese Zahlung ist nicht löschbar"); } var stornoZahlung = zahlung.Storniere(); NeueZahlung(stornoZahlung); Überweisungssteuerung.NeueÜberweisung(stornoZahlung.Überweisung); BearbeiteZahlung(zahlung); }
public void NeueZahlung(Benutzer benutzer, Konto konto, Zahlung zahlung) { var überweisung = new Überweisung() { Erstellungszeitpunkt = zahlung.Erstellungszeitpunkt, Buchungszeitpunkt = zahlung.Buchungszeitpunkt, Betrag = zahlung.Betrag, Beschreibung = string.Format("{0}: {1}", benutzer.Anzeigename, zahlung.Beschreibung), Löschbar = false }; Überweisungssteuerung.NeueÜberweisung(konto, überweisung); zahlung.Überweisung = überweisung; NeueZahlung(benutzer, zahlung); }
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); }