/// <summary> /// Zeigt den Stundensoll, die geleisteten Stunden /// und die Liste der Tätigkeiten aus dem <see cref="Core.Model.StundenDoc"/> in den Controls an. /// </summary> public void FillControls() { try { Config conf = new Config(); conf.LeseXML(); tbSoll.Text = (Convert.ToDouble(StuDoc.Mitarbeiter.AuslastungStelle) / 100 * conf.StundenSoll).ToString(); tbGeleistet.Text = Berechnung.ArbeitsZeit(StuDoc).ToString(); dgvStunden.DataSource = StuDoc.Tatlist; dgvStunden.Columns["TaetigkeitID"].Visible = false; dgvStunden.Columns["MitarbeiterID"].Visible = false; } catch (Exception ex) { ErrorHandler.ErrorHandle(ex); } }
public void ArbeitsZeitTest() { // Tätigkeitsliste erstellen und jeweils zwei Einträge für Mitarbeiter 1 und Mitarbeiter 2 erstellen List <Taetigkeit> testTaetigkeiten = new List <Taetigkeit>(); testTaetigkeiten.Add(new Taetigkeit() { AuftragID = 1, MitarbeiterID = 1, TaetigkeitID = 1, Datum = new DateTime(2017, 12, 4), Name = "Installation 1 M1", StartZeit = new TimeSpan(21, 13, 0), EndZeit = new TimeSpan(23, 54, 0) } ); testTaetigkeiten.Add(new Taetigkeit() { AuftragID = 2, MitarbeiterID = 1, TaetigkeitID = 2, Datum = new DateTime(2019, 9, 9), Name = "Installation 2 M1", StartZeit = new TimeSpan(13, 46, 0), EndZeit = new TimeSpan(19, 32, 0) } ); testTaetigkeiten.Add(new Taetigkeit() { AuftragID = 3, MitarbeiterID = 2, TaetigkeitID = 3, Datum = new DateTime(2018, 5, 17), Name = "Installation 1 M2", StartZeit = new TimeSpan(5, 29, 0), EndZeit = new TimeSpan(11, 28, 0) } ); testTaetigkeiten.Add(new Taetigkeit() { AuftragID = 2, MitarbeiterID = 2, TaetigkeitID = 4, Datum = new DateTime(2019, 1, 4), Name = "Installation 2 M2", StartZeit = new TimeSpan(17, 7, 0), EndZeit = new TimeSpan(22, 56, 0) } ); // Neues StundenDoc für Mitarbeiter 1 erstellen StundenDoc stundenDocM1 = new StundenDoc { Mitarbeiter = new Mitarbeiter { MitarbeiterID = 1 } }; // Tätigkeistliste nach Mitarbeiter 1, Anfangs- und Enddatum filtern stundenDocM1.Tatlist = (from t in testTaetigkeiten where t.MitarbeiterID == stundenDocM1.Mitarbeiter.MitarbeiterID && t.Datum >= new DateTime(2017, 12, 4) && t.Datum <= new DateTime(2018, 10, 20) select t).ToList(); // Neues StundenDoc für Mitarbeiter 2 erstellen StundenDoc stundenDocM2 = new StundenDoc { Mitarbeiter = new Mitarbeiter { MitarbeiterID = 2 } }; // Tätigkeistliste nach Mitarbeiter 2, Anfangs- und Enddatum filtern stundenDocM2.Tatlist = (from t in testTaetigkeiten where t.MitarbeiterID == stundenDocM2.Mitarbeiter.MitarbeiterID && t.Datum >= new DateTime(2018, 5, 17) && t.Datum <= new DateTime(2019, 1, 4) select t).ToList(); // Berechnung der Arbeitszeit überprüfen if (Berechnung.ArbeitsZeit(stundenDocM1) != 2.68) { Assert.Fail(); } if (Berechnung.ArbeitsZeit(stundenDocM2) != 11.8) { Assert.Fail(); } }