public void Buche(Zahlung zahlung) { zahlung.AltesGuthaben = Guthaben; zahlung.NeuesGuthaben = Guthaben + zahlung.Betrag; Guthaben = Guthaben + zahlung.Betrag; zahlung.Benutzer = this; Zahlungen.Add(zahlung); }
public Zahlung Storniere() { var stornoÜberweisung = Überweisung.Storniere(); var stornoZahlung = new Zahlung() { Buchungszeitpunkt = DateTime.Now, Betrag = -Betrag, Beschreibung = String.Format("STORNO ({0:d}) - {1}", Buchungszeitpunkt, Beschreibung), Überweisung = stornoÜberweisung, Löschbar = false }; Beschreibung = "STORNIERT - " + Beschreibung; Löschbar = false; Benutzer.Buche(stornoZahlung); return(stornoZahlung); }
public Zahlung SetzeKaution(double neueKaution, Konto konto) { double diff = Kaution - neueKaution; var zahlung = new Zahlung() { Buchungszeitpunkt = DateTime.Now, Betrag = diff, Beschreibung = "Kaution " + Vorname, Löschbar = false }; if (diff < 0) { // Zahlt der Benutzer Kaution ein, erhält das Konto Geld, der Benutzer aber kein Guthaben. var überweisung = new Überweisung() { Buchungszeitpunkt = zahlung.Buchungszeitpunkt, Betrag = -zahlung.Betrag, Beschreibung = zahlung.Beschreibung, Löschbar = false }; konto.Buche(überweisung); zahlung.Überweisung = überweisung; zahlung.AltesGuthaben = Guthaben; zahlung.NeuesGuthaben = Guthaben; zahlung.Benutzer = this; Zahlungen.Add(zahlung); } else { // Wird eine Kaution ausbezahlt, erhöht sich das Guthaben des Benutzers normal. Buche(zahlung); } Kaution = neueKaution; return(zahlung); }