/// <summary> /// Methode zum Anzeigen des übergebenen <see cref="Auftrag"/> in den Controls /// </summary> /// <param name="auftrag"></param> /// <seealso cref="EasyAuftragContext"/> private void FillControls(Auftrag auftrag) { try { tbAuftragNr.Text = auftrag.AuftragNummer; using (var db = new EasyAuftragContext(_connection)) { int[] kundenIDs = (from k in db.Kunden select k.KundeID).ToArray(); var cbKundeEintraege = (from k in db.Kunden select new { ID = k.KundeID, kName = k.Name }).ToList(); cbKunde.DataSource = cbKundeEintraege; cbKunde.DisplayMember = "kName"; cbKunde.ValueMember = "ID"; cbKunde.SelectedIndex = Array.IndexOf(kundenIDs, auftrag.KundeID); } dtpEingang.Value = auftrag.Eingang; dtpErteilt.Value = auftrag.Erteilt; cbErledigt.Checked = auftrag.Erledigt; cbAbgerechnet.Checked = auftrag.Abgerechnet; tbGesamt.Text = Math.Round(Berechnung.AuftragZeitGesamt(_minlist) / 60, 2).ToString(); } catch (Exception ex) { ErrorHandler.ErrorHandle(ex); } }
/// <summary> /// Methode zum Laden und Aktualisieren der Tätigkeiten im <see cref="DataGridView"/> /// </summary> /// <seealso cref="EasyAuftragContext"/> private void DataGridNeu() { try { using (var db = new EasyAuftragContext(_connection)) { //Laden aller zugehörigen Tätigkeiten _tatlist = (from t in db.Taetigkeiten where t.AuftragID == AuftragInfo.AuftragID select t).ToList(); _bind.DataSource = _tatlist; foreach (var tat in _tatlist) { _minlist.Add(tat.Minuten); } foreach (var tat in AuftragInfo.Taetigkeiten) { _bind.Add(tat); } dgvAuftrag.DataSource = _bind; dgvAuftrag.Columns["TaetigkeitID"].Visible = false; dgvAuftrag.Columns["AuftragID"].Visible = false; tbGesamt.Text = Math.Round(Berechnung.AuftragZeitGesamt(_minlist) / 60, 2).ToString(); } } catch (Exception ex) { ErrorHandler.ErrorHandle(ex); } }
/// <summary> /// Methode zum Anlegen einer neuen Tätigkeit /// </summary> /// <remarks> /// Öffnet <see cref="TaetigkeitView"/> und legt eine neue Taetigkeit an, falls erstere <see cref="DialogResult.OK"/> zurückgibt. /// </remarks> private void NeueTaetigkeit() { TaetigkeitView taetigkeitV = new TaetigkeitView("Neue Tätigkeit", _connection); if (taetigkeitV.ShowDialog() == DialogResult.OK) { AuftragInfo.Taetigkeiten.Add(taetigkeitV.TaetigkeitInfo); _bind.Add(taetigkeitV.TaetigkeitInfo); _minlist.Add(taetigkeitV.TaetigkeitInfo.Minuten); tbGesamt.Text = Math.Round(Berechnung.AuftragZeitGesamt(_minlist) / 60, 2).ToString(); } this.BringToFront(); this.Activate(); }
public void AuftragZeitGesamtTest() { // Taetigkeitsliste mit drei Einträgen für Auftrag 345 erstellen List <Taetigkeit> testTaetigkeiten = new List <Taetigkeit>(); testTaetigkeiten.Add(new Taetigkeit() { AuftragID = 345, MitarbeiterID = 1, TaetigkeitID = 1, Datum = new DateTime(2019, 7, 18), Name = "Installation 1", StartZeit = new TimeSpan(4, 21, 0), EndZeit = new TimeSpan(13, 46, 0) } ); testTaetigkeiten.Add(new Taetigkeit() { AuftragID = 345, MitarbeiterID = 2, TaetigkeitID = 2, Datum = new DateTime(2018, 4, 27), Name = "Installation 2", StartZeit = new TimeSpan(12, 6, 0), EndZeit = new TimeSpan(15, 12, 0) } ); testTaetigkeiten.Add(new Taetigkeit() { AuftragID = 345, MitarbeiterID = 1, TaetigkeitID = 3, Datum = new DateTime(2017, 10, 30), Name = "Installation 3", StartZeit = new TimeSpan(16, 14, 0), EndZeit = new TimeSpan(22, 38, 0) } ); // Berechnung der Gesamtzeit für den Auftrag prüfen if (Berechnung.AuftragZeitGesamt(testTaetigkeiten) != 1135) { Assert.Fail(); } }