示例#1
0
 public void Buche(Zahlung zahlung)
 {
     zahlung.AltesGuthaben = Guthaben;
     zahlung.NeuesGuthaben = Guthaben + zahlung.Betrag;
     Guthaben         = Guthaben + zahlung.Betrag;
     zahlung.Benutzer = this;
     Zahlungen.Add(zahlung);
 }
示例#2
0
        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);
        }
示例#3
0
        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);
        }