コード例 #1
0
        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;
        }
コード例 #2
0
        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();
        }