Example #1
0
 private void OnAcceptExecuted(object obj)
 {
     //SelectedKredit.Status = "genehmigt";
     if (Object.ReferenceEquals(SelectedBerater.GetType(), new GKBerater().GetType()))
     {
         Transaktion trans = new Transaktion(SelectedKredit.Betrag, "Überweisung (Kredit)");
         SelectedKunde.Konto.Transaktionen.Add(trans);
         SelectedKunde.Konto.Kontostand += SelectedKredit.Betrag;
         SelectedKredit.Status           = "genehmigt";
         //((GKBerater)SelectedBerater).Kredite.Where(x=>x.)
     }
     KreditListe.Add(SelectedKredit);
     KreditListe.Remove(SelectedKredit);
     SelectedKredit = KreditListe.LastOrDefault();
     OnPropertyChanged("KreditListe");
     OnPropertyChanged("SelectedKredit");
     foreach (Mitarbeiter item in BeraterListe)
     {
         if (Object.ReferenceEquals(item.GetType(), new GKBerater().GetType()))
         {
             foreach (Kredit subitem in ((GKBerater)item as GKBerater).Kredite)
             {
                 if (subitem.Id == SelectedKredit.Id && SelectedKunde.Berater.Mitarrbeiternummer == item.Mitarrbeiternummer)
                 {
                     subitem.Status = "genehmigt";
                 }
             }
         }
     }
     SaveCSV(BeraterListe);
     KundenAnlegenViewViewModel.SaveCSV(KundenListe);
 }
 public TransaktionViewModel(Transaktion transaktion)
 {
     Sender           = transaktion.Sender.Inhaber.VollstaendigerName;
     Verwendungszweck = transaktion.Verwendungszweck;
     Betrag           = transaktion.Betrag.ToString();
     Timestamp        = transaktion.Zeitpunkt.ToString("dd-MM-yy HH:mm");
 }
Example #3
0
        private static Tuple <Transaktion, string[]> Ergaenze_Betrag(Transaktion transaktion, string[] args)
        {
            decimal betrag = decimal.Parse(args.First());

            transaktion.Betrag = new Money(betrag, Konstanten.DefaultWaehrung);

            return(new Tuple <Transaktion, string[]>(transaktion, args.Skip(1).ToArray()));
        }
Example #4
0
        internal static void SerializieObject(string pfad, Transaktion transaktion)
        {
            XmlSerializer serializer = new XmlSerializer(transaktion.GetType());

            using (FileStream stream = new FileStream(pfad, FileMode.Append))
            {
                serializer.Serialize(stream, transaktion);
            }
        }
Example #5
0
        private void OnEinzahlenExecute(object obj)
        {
            Transaktion trans = new Transaktion(Convert.ToInt64(SelectedEinzahlenBetrag.Split(':')[1]), "Eingezahlt");

            Kunde.Konto.Transaktionen.Add(trans);
            Kunde.Konto.Kontostand += Convert.ToInt64(SelectedEinzahlenBetrag.Split(':')[1]);
            OnPropertyChanged("Kunde");
            KundenAnlegenViewViewModel.SaveCSV(kcol);
        }
        private void Transaktion_durchfuehren(Transaktion transaktion, Action <Money, Kategorie> onErfolg)
        {
            _repository.Datensatz_hinzufuegen(transaktion);

            List <Transaktion> alleTranskationen = _repository.Lade();
            Money     kassenbestand = Summierer.Ermittle_Kassenbestand(transaktion.Datum, alleTranskationen);
            Kategorie kategorie     = Summierer.Ermittle_Kategorie(transaktion.Kategorie, transaktion.Datum, alleTranskationen);

            onErfolg(kassenbestand, kategorie);
        }
Example #7
0
        public Tuple <Money, Kategorie> Ein_Auszahlung(Transaktion transaktion)
        {
            _repository.Add_und_Speichern(transaktion);

            List <Transaktion> alleTranskationen = _repository.Lade();
            Money     kassenbestand = Summierer.Ermittle_Kassenbestand(transaktion.Datum, alleTranskationen);
            Kategorie kategorie     = Summierer.Ermittle_Kategorie(transaktion.Kategorie, transaktion.Datum, alleTranskationen);

            return(new Tuple <Money, Kategorie>(kassenbestand, kategorie));
        }
        public void Teste_Parameter_Datum_auslesen_erfolgreich(string[] inputArgs, string erwartet)
        {
            var transaktion = new Transaktion();

            ArgumentVerarbeiter verarbeiter = new ArgumentVerarbeiter();

            verarbeiter.Parameter_Datum_auslesen(inputArgs, transaktion);

            Assert.That(transaktion.Datum, Is.EqualTo(DateTime.Parse((erwartet))));
        }
Example #9
0
        public void Ergaenze_Datum_korrektes_Datum_Erwarte_Erfolg(string testDatum, string erwartetesDatum)
        {
            Transaktion t = new Transaktion();

            string[] datumTemp = new string[] { "a", "b" };

            var werte = ArgumentVerarbeiter.Ergaenze_Datum(t, datumTemp);

            Assert.That(werte.Item1.ZahlungsDatum, Is.EqualTo(DateTime.Parse(erwartetesDatum)));
        }
Example #10
0
        private static Transaktion Ergaenze_Memo(Transaktion transaktion, string[] args)
        {
            if (args != null && args.Any())
            {
                transaktion.Memotext = args.First();
                return(transaktion);
            }

            return(transaktion);
        }
        private static Tuple <Transaktion, string[]> Ergaenze_Bezeichnung(Transaktion transaktion, string[] args)
        {
            string bezeichnungName = string.Empty;

            string[] argsGekuerzt = null;
            bezeichnungName       = args.First();
            transaktion.Bemerkung = bezeichnungName;
            argsGekuerzt          = args.Skip(1).ToArray();
            return(new Tuple <Transaktion, string[]> (transaktion, argsGekuerzt));
        }
Example #12
0
        private static Tuple <Transaktion, string[]> Ergaenze_Kategorie(Transaktion transaktion, string[] args)
        {
            if (args != null && args.Any())
            {
                transaktion.Kategorie = args.First();
                return(new Tuple <Transaktion, string[]>(transaktion, args.Skip(1).ToArray()));
            }

            return(new Tuple <Transaktion, string[]>(transaktion, null));
        }
        // ZahlungsdatenAuslesen
        private Transaktion Parameter_Memo_auslesen(string[] args, Transaktion transaktion)
        {
            if (args != null && args.Any())
            {
                transaktion.Memotext = args.First();
                return(transaktion);
            }

            return(transaktion);
        }
        private static Tuple <Transaktion, string[]> Erganze_Kategorie(Transaktion transaktion, string[] args)
        {
            string kategorieName = String.Empty;

            string[] argsGekuerzt = null;
            kategorieName         = args.First();
            transaktion.Kategorie = kategorieName;
            argsGekuerzt          = args.Skip(1).ToArray();
            return(new Tuple <Transaktion, string[]> (transaktion, argsGekuerzt));
        }
        private static Tuple <Transaktion, string[]> Ergaenze_Betrag(Transaktion transaktion, string[] args)
        {
            decimal betrag = 0m;

            string[] argsGekuerzt = null;
            betrag             = decimal.Parse(args.First());
            argsGekuerzt       = args.Skip(1).ToArray();
            transaktion.Betrag = betrag;
            return(new Tuple <Transaktion, string[]> (transaktion, argsGekuerzt));
        }
Example #16
0
        public static Transaktion Erstelle_Transaktion_aus_Eingabeparameter(string[] args)
        {
            Tuple <Transaktion, string[]> temp = Erstelle_Transaktion_aus_Typ(args);

            temp = Ergaenze_Datum(temp.Item1, temp.Item2);
            temp = Ergaenze_Betrag(temp.Item1, temp.Item2);
            temp = Ergaenze_Kategorie(temp.Item1, temp.Item2);
            Transaktion transaktion = Ergaenze_Memo(temp.Item1, temp.Item2);

            return(transaktion);
        }
        public void ParameterDatumAuslesen_ungueltiges_Datum_Erwarte_DateTimeNow(string[] inputArgs, string x)
        {
            var transaktion = new Transaktion();

            ArgumentVerarbeiter verarbeiter = new ArgumentVerarbeiter();

            verarbeiter.Parameter_Datum_auslesen(inputArgs, transaktion);

            Assert.That(transaktion.Datum.Year, Is.EqualTo(DateTime.Now.Year));
            Assert.That(transaktion.Datum.Month, Is.EqualTo(DateTime.Now.Month));
            Assert.That(transaktion.Datum.Day, Is.EqualTo(DateTime.Now.Day));
        }
Example #18
0
        private void OnÜberweisenExecute(object obj)
        {
            Transaktion trans      = new Transaktion(Convert.ToInt64(SelectedÜberweisenBetrag), "Überwiesen");
            Transaktion trans_empf = new Transaktion(Convert.ToInt64(SelectedÜberweisenBetrag), "Überwiesen");

            Kunde.Konto.Transaktionen.Add(trans);
            Kcol.Where(x => x.Name == selectedÜberweisenEmpfänger).FirstOrDefault().Konto.Transaktionen.Add(trans_empf);
            Kcol.Where(x => x.Name == selectedÜberweisenEmpfänger).FirstOrDefault().Konto.Kontostand += Convert.ToInt64(SelectedÜberweisenBetrag);
            Kunde.Konto.Kontostand -= Convert.ToInt64(SelectedÜberweisenBetrag);
            OnPropertyChanged("Kunde");
            KundenAnlegenViewViewModel.SaveCSV(kcol);
        }
        private List <Transaktion> Transaktionen_laden()
        {
            var jsonStrings = File.ReadAllLines(pfad);
            List <Transaktion> transaktionen = new List <Transaktion>();

            foreach (var item in jsonStrings)
            {
                Transaktion transaktion = JsonConvert.DeserializeObject <Transaktion>(item);
                transaktionen.Add(transaktion);
            }

            return(transaktionen);
        }
Example #20
0
        public Transaktion MapFromDomainModel(TransaktionBiz transaktionBiz)
        {
            var transaktion = new Transaktion()
            {
                TransaktionId = transaktionBiz.TransaktionId,
                Beschreibung  = transaktionBiz.Beschreibung,
                Betrag        = transaktionBiz.Betrag,
                Datum         = transaktionBiz.Datum,
                IsEinnahme    = transaktionBiz.IsEinnahme,
                KategorieId   = transaktionBiz.KategorieId
            };

            return(transaktion);
        }
Example #21
0
        public void Lade_Eintrag_Erwarte_Erfolg()
        {
            Transaktion neuerEintrag = new Transaktion(TransaktionTyp.Einzahlung)
            {
                Datum  = DateTime.Now,
                Betrag = new Money(0.01)
            };

            _repository.Datensatz_hinzufuegen(neuerEintrag);

            var transaktionen = _repository.Lade();

            Assert.That(transaktionen.Count, Is.GreaterThan(0));
        }
        internal static Transaktion Erstelle_Transaktion_aus_Eingabe(string[] args)
        {
            Tuple <Transaktion, string[]> temp = null;
            Transaktion transaktion            = new Transaktion();

            transaktion.Typ = Erstelle_Transaktion_aus_Kommando(args);
            temp            = Ergaenze_Datum(transaktion, args);
            temp            = Ergaenze_Betrag(temp.Item1, temp.Item2);
            temp            = Erganze_Kategorie(temp.Item1, temp.Item2);
            temp            = Ergaenze_Bezeichnung(temp.Item1, temp.Item2);
            transaktion     = temp.Item1;

            return(transaktion);
        }
Example #23
0
        public HaushaltsbuchEinzeln Zahlung(Transaktion transaktion)
        {
            Locker locker   = new Locker();
            bool   isLocked = true;

            do
            {
                locker.Check_for_locked(
                    () => {
                    isLocked = false;
                    locker.Lock_starten();
                },
                    () => {
                    isLocked = true;
                    locker.Warten();
                }
                    );
            } while (isLocked);


            TransaktionenRepository transaktionenRepository = new TransaktionenRepository();
            KassenbestandRepository kassenbestandRepository = new KassenbestandRepository();
            HaushaltsbuchRechner    rechner = new HaushaltsbuchRechner();

            decimal kassenbestand = kassenbestandRepository.Lade();

            Transaktionstyp_pruefen(transaktion.Typ,
                                    onEinzahlung: () =>
            {
                kassenbestand = rechner.Kassenbestand_verringern(kassenbestand, transaktion.Wert);
            },
                                    onAuszahlung: () =>
            {
                kassenbestand = rechner.Kassenbestand_erhoehen(kassenbestand, transaktion.Wert);
            }
                                    );

            transaktionenRepository.Speichern(transaktion);
            kassenbestandRepository.Speichern(kassenbestand);
            locker.Lock_beenden();

            var transaktionen = transaktionenRepository.Transaktionen_laden_by_Datum_and_Kategorie(transaktion.Datum, transaktion.Kategorie);
            var gesamtbetrag  = rechner.Kategorie_Gesamtbetrag_berechnen(transaktionen);

            Kategorie            kategorie = new Kategorie(transaktion.Kategorie, gesamtbetrag);
            HaushaltsbuchEinzeln dtoModel  = new HaushaltsbuchEinzeln(kassenbestand, kategorie, transaktion.Typ);

            return(dtoModel);
        }
Example #24
0
        public void Speichere_Eintrag_Erwarte_Erfolg()
        {
            Transaktion neuerEintrag = new Transaktion(TransaktionTyp.Einzahlung)
            {
                Datum  = DateTime.Now,
                Betrag = new Money(0.01)
            };

            _repository.Datensatz_hinzufuegen(neuerEintrag);


            string[] datensaetze = File.ReadAllLines(_testDatenbank);

            Assert.That(datensaetze.Last(), Is.EqualTo(JsonConvert.SerializeObject(neuerEintrag)));
        }
        // ZahlungsdatenAuslesen
        private Tuple <string[], Transaktion> Paramet_Aktion_auslesen_und_Transaktion_erstellen(string[] args)
        {
            Transaktion transaktion = new Transaktion();

            if (args.First() == "einzahlung")
            {
                transaktion.Typ = Zahlung.Einzahlung;
            }
            else if (args.First() == "auszahlung")
            {
                transaktion.Typ = Zahlung.Auszahlung;
            }

            return(new Tuple <string[], Transaktion>(args.Skip(1).ToArray(), transaktion));
        }
        internal List <Transaktion> Lade_alle_Transaktionen()
        {
            string dateiInhalt = File.ReadAllText(_pfad);
            var    eintraege   = dateiInhalt.Split("<?xml version=\"1.0\"?>", StringSplitOptions.RemoveEmptyEntries);

            List <Transaktion> result = new List <Transaktion>();

            foreach (var eintrag in eintraege)
            {
                Transaktion temp = (Transaktion)XMLSerialisierer.DeserializeObject(eintrag, typeof(Transaktion));
                result.Add(temp);
            }

            return(result);
        }
Example #27
0
        public TransaktionBiz MapToDomainModel(Transaktion transaktion)
        {
            var mapper = new KategorieMapper();

            var transaktionBiz = new TransaktionBiz()
            {
                TransaktionId = transaktion.TransaktionId,
                Beschreibung  = transaktion.Beschreibung,
                Betrag        = transaktion.Betrag,
                Datum         = transaktion.Datum,
                IsEinnahme    = transaktion.IsEinnahme,
                KategorieId   = transaktion.KategorieId
            };

            return(transaktionBiz);
        }
Example #28
0
        public void Start(string[] args, Action <Tuple <Money, Kategorie> > onEinAuszahlung, Action <KategorieUebersicht> onUebersicht)
        {
            ArgumentVerarbeiter.Ist_Uebersicht_Kommando(
                args,
                onIstUebersicht: (argumenteUebersicht) => {
                DateTime datum = ArgumentVerarbeiter.Erstelle_Datum_aus_Eingabeparameter(argumenteUebersicht);

                onUebersicht(Uebersicht(datum));
            },
                onIstEinAuszahlung: (argumenteEinAuszahlung) => {
                Transaktion transaktion = ArgumentVerarbeiter.Erstelle_Transaktion_aus_Eingabeparameter(argumenteEinAuszahlung);

                onEinAuszahlung(Ein_Auszahlung(transaktion));
            }
                );
        }
        internal static Tuple <Transaktion, string[]> Ergaenze_Datum(Transaktion transaktion, string[] args)
        {
            DateTime datum;

            string[] argsGekuerzt = args;
            if (DateTime.TryParseExact(args.First(), "dd.MM.YYYY", provider: null, style: DateTimeStyles.None, result: out datum))
            {
                argsGekuerzt = args.Skip(1).ToArray();
            }
            else
            {
                datum = DateTime.Now;
            }

            transaktion.ZahlungsDatum = datum;
            return(new Tuple <Transaktion, string[]> (transaktion, argsGekuerzt));
        }
Example #30
0
        public List <Transaktion> Lade()
        {
            List <Transaktion> result = new List <Transaktion>();

            if (!File.Exists(_datenbank))
            {
                return(result);
            }

            string[] datensaetze = File.ReadAllLines(_datenbank);
            foreach (var datensatz in datensaetze)
            {
                Transaktion transaktion = JsonConvert.DeserializeObject <Transaktion>(datensatz);
                result.Add(transaktion);
            }

            return(result);
        }