Linerreste werden nun richtig berechnet
This commit is contained in:
@@ -15,25 +15,48 @@ namespace SanSystem
|
||||
{
|
||||
public partial class FrmLinerReste : Form
|
||||
{
|
||||
Dictionary<string, double> Linerlaengen = new Dictionary<string, double>();
|
||||
|
||||
private void BuildListe()
|
||||
{
|
||||
list_liner.Items.Clear();
|
||||
foreach (WerkseitigImprägniert linerTruhe in Database.Datenbank.Instance.TeufelDB.Imprägnierungen)
|
||||
Linerlaengen.Clear();
|
||||
// Jedes Projekt durchgehen
|
||||
foreach (Projekt projekt in Database.Datenbank.Instance.TeufelDB.Projekte)
|
||||
{
|
||||
double verbrauch = 0;
|
||||
decimal rest = linerTruhe.LinerLänge;
|
||||
if (linerTruhe.NochVorhanden == false) continue;
|
||||
/*
|
||||
if (linerTruhe.MitLinerSanierteObjekte != null)
|
||||
// Alle Objekte durchgehen
|
||||
foreach(Inspektionsobjekt inspektionsobjekt in projekt.Objekte)
|
||||
{
|
||||
linerTruhe.MitLinerSanierteObjekte.ForEach(x => x.Objekt.ForEach(d => verbrauch += d.Haltungslaenge));
|
||||
rest -= Convert.ToDecimal(verbrauch);
|
||||
// Alle Sanierungen durchgehen
|
||||
foreach(Sanierung sanierung in inspektionsobjekt.Sanierung)
|
||||
{
|
||||
if (sanierung is InlinerSanierung && (sanierung as InlinerSanierung).Imprägnierungsbericht != null && (sanierung as InlinerSanierung).Imprägnierungsbericht is WerkseitigImprägniert)
|
||||
{
|
||||
WerkseitigImprägniert werkseitigImprägniert = ((sanierung as InlinerSanierung).Imprägnierungsbericht as WerkseitigImprägniert);
|
||||
if(Linerlaengen.ContainsKey(werkseitigImprägniert.Imprägniernummer))
|
||||
{
|
||||
Linerlaengen[werkseitigImprägniert.Imprägniernummer] += inspektionsobjekt.Haltungslaenge + inspektionsobjekt.Schachtlaenge;
|
||||
}
|
||||
else
|
||||
{
|
||||
Linerlaengen.Add(werkseitigImprägniert.Imprägniernummer, inspektionsobjekt.Haltungslaenge + inspektionsobjekt.Schachtlaenge);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
*/
|
||||
}
|
||||
|
||||
string listoutput = string.Format("({0}) DN: {1} G: {2} R: {3}", linerTruhe.Imprägniernummer, linerTruhe.DN, linerTruhe.LinerLänge, rest);
|
||||
foreach(string imprägniernummer in Linerlaengen.Keys)
|
||||
{
|
||||
// Liner länge insgesammt rausfinden
|
||||
WerkseitigImprägniert werkseitigImprägniert = Database.Datenbank.Instance.TeufelDB.Imprägnierungen.FindLast(x => x.Imprägniernummer.Equals(imprägniernummer));
|
||||
if (werkseitigImprägniert.NochVorhanden == false) continue;
|
||||
decimal rest = werkseitigImprägniert.LinerLänge - Convert.ToDecimal(Linerlaengen[imprägniernummer]);
|
||||
string listoutput = string.Format("({0}) DN: {1} G: {2} R: {3}", imprägniernummer, werkseitigImprägniert.DN, werkseitigImprägniert.LinerLänge, rest);
|
||||
list_liner.Items.Add(listoutput);
|
||||
}
|
||||
|
||||
}
|
||||
public FrmLinerReste()
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user