public override void Fülle() { StartzeitBox.ValueChanged -= StartzeitBox_ValueChanged; EndzeitBox.ValueChanged -= EndzeitBox_ValueChanged; AbrechnungBox.SelectedIndexChanged -= AbrechnungBox_SelectedIndexChanged; AbrechnungBox.Items.Clear(); AbrechnungBox.Items.Add(DummyAbrechnung); if (Abrechnung.AusgangsBestandAbrechnung != null) { AbrechnungBox.Items.Add(Abrechnung.AusgangsBestandAbrechnung); } AbrechnungBox.Items.AddRange(abrechnungssteuerung.AusgangsBestandAbrechnungen(Abrechnung).ToArray()); NameBox.Text = Abrechnung.Name; StartzeitBox.Value = Abrechnung.Startzeitpunkt; EndzeitBox.Value = Abrechnung.Endzeitpunkt; if (Abrechnung.AusgangsBestandAbrechnung != null) { AbrechnungBox.SelectedIndex = AbrechnungBox.Items.IndexOf(Abrechnung.AusgangsBestandAbrechnung); } else { AbrechnungBox.SelectedIndex = 0; // Auf (keine) } StartzeitBox.ValueChanged += StartzeitBox_ValueChanged; EndzeitBox.ValueChanged += EndzeitBox_ValueChanged; AbrechnungBox.SelectedIndexChanged += AbrechnungBox_SelectedIndexChanged; }
private void NeueAbrechnungKnopf_Click(object sender, EventArgs e) { var letzteGebuchte = abrechnungssteuerung.Abrechnungen.Where(a => a.Gebucht).OrderByDescending(a => a.Endzeitpunkt).FirstOrDefault(); var jetzt = DateTime.Now; var abrechnung = new Abrechnung { Startzeitpunkt = letzteGebuchte?.Endzeitpunkt ?? jetzt, Endzeitpunkt = jetzt, Name = "Abrechnung " + jetzt.ToString("MMMM"), }; abrechnung.AusgangsBestandAbrechnung = abrechnungssteuerung.AusgangsBestandAbrechnungen(abrechnung).OrderByDescending(a => a.Endzeitpunkt).FirstOrDefault(); abrechnung.Benutzer.AddRange(abrechnungssteuerung.Benutzersteuerung.Benutzer.Where(b => b.Aktiv)); abrechnungssteuerung.NeueAbrechnung(abrechnung); Abrechnungsfenster.Abrechnung = abrechnung; Abrechnungsfenster.Show(); Abrechnungsfenster.Focus(); }