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