Esempio n. 1
0
        /// <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);
            }
        }
Esempio n. 2
0
        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();
            }
        }