From a8ac043db01605d4ea098d30fb9ec873994da2ae Mon Sep 17 00:00:00 2001 From: HuskyTeufel Date: Thu, 5 Aug 2021 10:25:20 +0200 Subject: [PATCH] Liste sortiert zusammenfassung Die leitungen werden richtig angezeigt und zusammengefasst --- XMLParser/AbwassertechnischeAnlage.cs | 2 +- XMLParser/Anschlusspunkt.cs | 2 +- XMLParser/Knoten.cs | 2 +- XMLProgramm/Program.cs | 39 ++++++++++++++++++++++++++- 4 files changed, 41 insertions(+), 4 deletions(-) diff --git a/XMLParser/AbwassertechnischeAnlage.cs b/XMLParser/AbwassertechnischeAnlage.cs index 427bdc6..2aa26cc 100644 --- a/XMLParser/AbwassertechnischeAnlage.cs +++ b/XMLParser/AbwassertechnischeAnlage.cs @@ -15,6 +15,6 @@ namespace XMLParser public string Entwaesserungsart { get => entwaesserungsart; set => entwaesserungsart = value; } public Kante Kante { get => kante; set => kante = value; } public Geometrie Geometrie { get => geometrie; set => geometrie = value; } - internal Knoten Knoten { get => knoten; set => knoten = value; } + public Knoten Knoten { get => knoten; set => knoten = value; } } } \ No newline at end of file diff --git a/XMLParser/Anschlusspunkt.cs b/XMLParser/Anschlusspunkt.cs index 3a4b64a..f136add 100644 --- a/XMLParser/Anschlusspunkt.cs +++ b/XMLParser/Anschlusspunkt.cs @@ -1,6 +1,6 @@ namespace XMLParser { - internal class Anschlusspunkt + public class Anschlusspunkt { string punktkennung; diff --git a/XMLParser/Knoten.cs b/XMLParser/Knoten.cs index 9ddc048..d279df5 100644 --- a/XMLParser/Knoten.cs +++ b/XMLParser/Knoten.cs @@ -8,6 +8,6 @@ namespace XMLParser public EKnotenTyp KnotenTyp { get => knotenTyp; set => knotenTyp = value; } public Schacht Schacht { get => schacht; set => schacht = value; } - internal Anschlusspunkt Anschlusspunkt { get => anschlusspunkt; set => anschlusspunkt = value; } + public Anschlusspunkt Anschlusspunkt { get => anschlusspunkt; set => anschlusspunkt = value; } } } \ No newline at end of file diff --git a/XMLProgramm/Program.cs b/XMLProgramm/Program.cs index 04562cd..21dedad 100644 --- a/XMLProgramm/Program.cs +++ b/XMLProgramm/Program.cs @@ -1,4 +1,7 @@ using System; +using System.Collections.Generic; +using System.Diagnostics; +using System.Linq; using XMLParser; namespace XMLProgramm @@ -7,8 +10,42 @@ namespace XMLProgramm { static void Main(string[] args) { - Console.WriteLine("Hello World!"); XMLParse ser = new XMLParse("input.xml"); + IEnumerable datums = ser.KanalObjekte.Select(x => x.Inspektionsdaten.OptischeInspektion.Inspektionsdatum).Distinct(); + foreach(string datum in datums) { + Console.WriteLine("Folgende Datums sind erfasst worden : "+datum); + List inspektionen = ser.KanalObjekte.FindAll(x => x.Inspektionsdaten.OptischeInspektion.Inspektionsdatum.Equals(datum)); + int counter = 0; + foreach(KanalObjekt s in inspektionen) { + counter++; + decimal length = s.Inspektionsdaten.OptischeInspektion.Rohrleitung.Inspektionslaenge; + Console.Write(s.Stammdaten.Objektbezeichnung+ " "+length); + //if(s.Stammdaten.Objektbezeichnung.Equals("45893017")) Debugger.Break(); + if(s.Inspektionsdaten.Anlagentyp.Equals(EAnlagetyp.Anschlussleitung)) { + if(s.Stammdaten.Knoten != null && s.Stammdaten.Knoten.Anschlusspunkt != null && s.Stammdaten.Knoten.Anschlusspunkt.Punktkennung.Equals("SE")) { + // 45903556RS07 ist anschlusspunkt => null, denn es ist einen Schacht + if(length > 5.0m) { + Console.Write(" Straßenablauf "); + decimal overlength = length - 5.0m; + Console.Write("# Over : "+overlength); + } + } + else { + if(length > 7.0m) { + Console.Write(" Sonstiges "); + decimal overlength = length - 7.0m; + Console.Write("# Over : "+overlength); + } + } + } + Console.WriteLine(); + + + } + Console.WriteLine(counter); + counter = 0; + Console.WriteLine("####"); + } } } }