Beispiel #1
0
 internal static dynamic Memo_übernehmen(Buchung buchung, IEnumerable<string> args) {
     if (args.Any()) {
         buchung.Memo = args.First();
         return new { Buchung = buchung, Args = args.Skip(1) };
     }
     return new { Buchung = buchung, Args = args };
 }
Beispiel #2
0
        public void Saldo() {
            var buchung = new Buchung {
                Buchungsdatum = new DateTime(2015, 8, 10)
            };

            var buchungen = new[] {
                new Buchung {
                    Buchungstyp = Buchungstypen.Einzahlung,
                    Buchungsdatum = new DateTime(2015, 8, 9),
                    Betrag = 100.0
                },
                new Buchung {
                    Buchungstyp = Buchungstypen.Auszahlung,
                    Buchungsdatum = new DateTime(2015, 8, 10),
                    Betrag = 30.0
                },
                new Buchung {
                    Buchungstyp = Buchungstypen.Auszahlung,
                    Buchungsdatum = new DateTime(2015, 8, 11),
                    Betrag = 30.0
                }
            };

            var saldo = Buchhaltung.Saldo(buchung, buchungen);

            Assert.That(saldo, Is.EqualTo(70.0));
        }
Beispiel #3
0
 public static void Save(Buchung buchung) {
     var csv_data = string.Format("{0};{1:d};{2:F};'{3}';'{4}'",
         BuchungstypenConverter.AsString(buchung.Buchungstyp),
         buchung.Buchungsdatum,
         buchung.Betrag,
         buchung.Kategorie,
         buchung.Memo);
     File.AppendAllLines(Filename, new[] { csv_data });
 }
Beispiel #4
0
 public static Tuple<string, double> Kategorie_berechnen(Buchung buchung, IEnumerable<Buchung> buchungen) {
     var buchungen_der_kategorie = buchungen
         .Where(b => b.Buchungstyp == Buchungstypen.Auszahlung &&
                     b.Kategorie == buchung.Kategorie &&
                     b.Buchungsdatum.Month == buchung.Buchungsdatum.Month &&
                     b.Buchungsdatum.Year == buchung.Buchungsdatum.Year);
     var betrag = buchungen_der_kategorie.Sum(b => b.Betrag);
     return new Tuple<string, double>(buchung.Kategorie, betrag);
 }
Beispiel #5
0
        internal static dynamic Datum_übernehmen(Buchung buchung, IEnumerable<string> args) {
            DateTime buchungsdatum;

            if (DateTime.TryParse(args.First(), out buchungsdatum)) {
                buchung.Buchungsdatum = buchungsdatum;
                return new { Buchung = buchung, Args = args.Skip(1) };
            }

            buchung.Buchungsdatum = now();
            return new { Buchung = buchung, Args = args };
        }
Beispiel #6
0
        public static double Saldo(Buchung buchung, IEnumerable<Buchung> buchungen) {
            Money saldo = 0.0;

            var buchungen_bis_datum = buchungen.Where(b => b.Buchungsdatum <= buchung.Buchungsdatum);

            foreach (var b in buchungen_bis_datum) {
                if (b.Buchungstyp == Buchungstypen.Einzahlung) {
                    saldo += b.Betrag;
                }
                if (b.Buchungstyp == Buchungstypen.Auszahlung) {
                    saldo -= b.Betrag;
                }
            }

            return saldo;
        }
Beispiel #7
0
        public void Kategorie() {
            var buchung = new Buchung {
                Buchungsdatum = new DateTime(2015, 8, 10),
                Kategorie = "abc"
            };

            var buchungen = new[] {
                new Buchung {
                    Buchungstyp = Buchungstypen.Einzahlung,     // Keine Berücksichtigung, da Einzahlung
                    Buchungsdatum = new DateTime(2015, 8, 9),
                    Betrag = 100.0
                },
                new Buchung {
                    Buchungstyp = Buchungstypen.Auszahlung,    // berücksichtigen
                    Buchungsdatum = new DateTime(2015, 8, 10),
                    Kategorie = "abc",
                    Betrag = 10.0
                },
                new Buchung {
                    Buchungstyp = Buchungstypen.Auszahlung,     // berücksichtigen, obwohl hinter dem Buchungsdatum, aber selber Monat
                    Buchungsdatum = new DateTime(2015, 8, 11),
                    Kategorie = "abc",
                    Betrag = 20.0
                },
                new Buchung {
                    Buchungstyp = Buchungstypen.Auszahlung,     // keine Berücksichtigung, da andere Kategorie
                    Buchungsdatum = new DateTime(2015, 8, 11),
                    Kategorie = "xyz",
                    Betrag = 20.0
                }
            };

            var tuple = Buchhaltung.Kategorie_berechnen(buchung, buchungen);

            Assert.That(tuple.Item1, Is.EqualTo("abc"));
            Assert.That(tuple.Item2, Is.EqualTo(30.0));
        }
Beispiel #8
0
 internal static dynamic Betrag_übernehmen(Buchung buchung, IEnumerable<string> args) {
     buchung.Betrag = double.Parse(args.First());
     return new { Buchung = buchung, Args = args.Skip(1) };
 }
Beispiel #9
0
 internal static dynamic Buchung_zu_Kommando_erstellen(IEnumerable<string> args) {
     var buchung = new Buchung {
         Buchungstyp = BuchungstypenConverter.FromString(args.First())
     };
     return new { Buchung = buchung, Args = args.Skip(1) };
 }