public BenutzerProxy(Abrechnung abrechnung, Benutzer benutzer, double verluste) { this.abrechnung = abrechnung; this.benutzer = benutzer; verbrauche = abrechnung.Verkaufsprodukte.ToDictionary(p => p.Produkt, p => abrechnung.Verbrauche.Single(v => v.Verkaufsprodukt == p && v.Benutzer == benutzer)); verbrauchKosten = verbrauche.Values.Select(v => v.AnzahlFlaschen * v.Verkaufsprodukt.Verkaufspreis).Sum(); zahlung = abrechnung.Gebucht ? abrechnung.Zahlungen.Single(z => z.Benutzer == benutzer) : null; verlustKosten = verluste; }
private void NeueZahlung(Zahlung zahlung) { if (zahlung.Benutzer != benutzer) { return; } Zahlungsliste.AddObject(zahlung); Zahlungsliste.Sort(ErstellungSpalte, SortOrder.Ascending); Zahlungsliste.TopItemIndex = Zahlungsliste.Items.Count - 1; }
public void StorniereZahlung(Zahlung zahlung) { if (!zahlung.Löschbar) { throw new InvalidOperationException("Diese Zahlung ist nicht löschbar"); } var stornoZahlung = zahlung.Storniere(); NeueZahlung(stornoZahlung); Überweisungssteuerung.NeueÜberweisung(stornoZahlung.Überweisung); BearbeiteZahlung(zahlung); }
public void NeueZahlung(Benutzer benutzer, Konto konto, Zahlung zahlung) { var überweisung = new Überweisung() { Erstellungszeitpunkt = zahlung.Erstellungszeitpunkt, Buchungszeitpunkt = zahlung.Buchungszeitpunkt, Betrag = zahlung.Betrag, Beschreibung = string.Format("{0}: {1}", benutzer.Anzeigename, zahlung.Beschreibung), Löschbar = false }; Überweisungssteuerung.NeueÜberweisung(konto, überweisung); zahlung.Überweisung = überweisung; NeueZahlung(benutzer, zahlung); }
private void Transaktionstyp_pruefen(Zahlung typ, Action onEinzahlung, Action onAuszahlung) { if (typ == Shared.BusinessModels.Zahlung.Einzahlung) { onEinzahlung(); } else if (typ == Shared.BusinessModels.Zahlung.Auszahlung) { onAuszahlung(); } else { throw new Exception("Transaktionstyp_pruefen fehlgeschlagen."); } }
private void FülleZahlungen(Zahlung zahlung = null) { if (zahlung != null && zahlung.Benutzer != benutzer) { return; } if (zahlung == null) { Zahlungsliste.SetObjects(benutzer.Zahlungen.ToList()); Zahlungsliste.Sort(DatumSpalte, SortOrder.Ascending); Zahlungsliste.TopItemIndex = Zahlungsliste.Items.Count - 1; } else { Zahlungsliste.RefreshObject(zahlung); } }
private void HinzufügenKnopf_Click(object sender, EventArgs e) { if (!Double.TryParse(BetragBox.Text, NumberStyles.Currency, CultureInfo.CurrentCulture, out double betrag)) { return; // TODO: Was schöneres hier. } if (KontoAuswahl.SelectedItem == null) { return; // TODO: Was schöneres hier. } var nachKonto = (Konto)KontoAuswahl.SelectedItem; var zahlung = new Zahlung() { Buchungszeitpunkt = DatumBox.Value, Betrag = betrag, Beschreibung = BeschreibungBox.Text, }; zahlungssteuerung.NeueZahlung(benutzer, nachKonto, zahlung); }
public HaushaltsbuchEinzeln(decimal kassenbestand, Kategorie kategorie, Zahlung typ) { Kassenbestand = kassenbestand; Kategorie = kategorie; Typ = typ; }
public void NeueZahlung(Benutzer benutzer, Zahlung zahlung) { benutzer.Buche(zahlung); NeueZahlung(zahlung); }
public void NeueZahlung(Zahlung zahlung) { Benutzersteuerung.BearbeiteBenutzer(zahlung.Benutzer); ZahlungHinzugefügt?.Invoke(zahlung); }
public void BearbeiteZahlung(Zahlung zahlung) { Kontext.SaveChanges(); ZahlungVerändert?.Invoke(zahlung); }