From 2172f11ff8349b4faae49d990b5d7afa57f24ca7 Mon Sep 17 00:00:00 2001 From: HuskyTeufel Date: Thu, 12 Mar 2020 14:32:51 +0100 Subject: [PATCH] Anzahl wird nun angezeigt in der Spalte --- SanSystem/UCWerkseitigImprägniert.cs | 17 +++++++- SanSystem/frmStrassenList.cs | 60 ++++++++++++++++++++++++++-- 2 files changed, 72 insertions(+), 5 deletions(-) diff --git a/SanSystem/UCWerkseitigImprägniert.cs b/SanSystem/UCWerkseitigImprägniert.cs index 159a56b..8f44360 100644 --- a/SanSystem/UCWerkseitigImprägniert.cs +++ b/SanSystem/UCWerkseitigImprägniert.cs @@ -24,12 +24,27 @@ namespace SanSystem private void UCWerkseitigImprägniert_Load(object sender, EventArgs e) { lst_imprägnierberichte.DataSource = Database.Datenbank.Instance.MainDatenbank.ImprägnierBerichtListe; + int index = 0; + foreach(WerkseitigImprägniert x in Database.Datenbank.Instance.MainDatenbank.ImprägnierBerichtListe.ToList()) + { + WerkseitigImprägniert werkseitig = (WerkseitigImprägniert)inliner.Imprägnierungsbericht; + if (werkseitig != null) + { + if (x.Imprägniernummer.Equals(werkseitig.Imprägniernummer)) break; + } + else + { + break; + } + index++; + } + if (index > Database.Datenbank.Instance.MainDatenbank.ImprägnierBerichtListe.Capacity) index = 0; + lst_imprägnierberichte.SelectedIndex = index; } private void Btn_save_Click(object sender, EventArgs e) { inliner.Imprägnierungsbericht = (WerkseitigImprägniert)lst_imprägnierberichte.SelectedItem; - //MessageBox.Show(lst_imprägnierberichte.SelectedItem.GetType().ToString()); } } } diff --git a/SanSystem/frmStrassenList.cs b/SanSystem/frmStrassenList.cs index 82adfc7..50d4611 100644 --- a/SanSystem/frmStrassenList.cs +++ b/SanSystem/frmStrassenList.cs @@ -1,4 +1,5 @@ using Database; +using KlassenBIB; using System; using System.Collections.Generic; using System.ComponentModel; @@ -12,6 +13,17 @@ using System.Windows.Forms; namespace SanSystem { + class StrassenContent + { + public string Strassename; + public int AnzahlObjekte; + public int AnzahlFertig; + + public override string ToString() + { + return string.Format("{0} ({1} / {2})", Strassename, AnzahlFertig, AnzahlObjekte); + } + } /// /// /// @@ -30,8 +42,47 @@ namespace SanSystem { lst_strassen.DataSource = null; List strassen = Datenbank.Instance.loadedProjekt.Objekte.Select(x => x.StrasseName).Distinct().ToList(); - //bs.DataSource = strassen; - lst_strassen.DataSource = strassen; + List streets = new List(); + List strassenContents = new List(); + foreach (string strassename in strassen) + { + string streetname = string.Empty; + //Anzahl gesamt objekte + IEnumerable objekte = Datenbank.Instance.loadedProjekt.Objekte.Where(x => x.StrasseName.Equals(strassename)); + int counter = 0; + foreach(var objekt in objekte) + { + bool fertig = false; + foreach(var x in objekt.Sanierung) + { + AbstractSanieren abstractSanieren = (AbstractSanieren)x; + if(abstractSanieren.Fertig == true) + { + fertig = true; + } + else + { + fertig = false; + break; + } + } + if(fertig) + { + counter++; + } + } + + //Debugger.Break(); + strassenContents.Add(new StrassenContent() + { + Strassename = strassename, + AnzahlObjekte = objekte.Count(), + AnzahlFertig = counter + }) ; + + } + + lst_strassen.DataSource = strassenContents; } private void frmStrassenList_Load(object sender, EventArgs e) @@ -56,10 +107,11 @@ namespace SanSystem private void lst_strassen_DoubleClick(object sender, EventArgs e) { if ((sender as ListBox).SelectedItem == null) return; - string selectedStreetName = (sender as ListBox).SelectedItem.ToString(); + StrassenContent selectedStreetName = ((sender as ListBox).SelectedItem as StrassenContent); + //Debugger.Break(); if (selectedStreetName == null) return; - frmObjekteList frmObjekteList = new frmObjekteList(selectedStreetName); + frmObjekteList frmObjekteList = new frmObjekteList(selectedStreetName.Strassename); frmObjekteList.MdiParent = this.MdiParent; frmObjekteList.FormClosed += FrmObjekt_FormClosed; frmObjekteList.Show();