diff --git a/Schnittstelle/Import/XML/v2013/XML2013.cs b/Schnittstelle/Import/XML/v2013/XML2013.cs index 7c00fb7..f7a52f1 100644 --- a/Schnittstelle/Import/XML/v2013/XML2013.cs +++ b/Schnittstelle/Import/XML/v2013/XML2013.cs @@ -63,7 +63,7 @@ namespace Schnittstelle.Import.XML.v2013 inspektionsdaten = src.Item2; foreach (InspizierteAbwassertechnischeAnlage iat in inspektionsdaten) { - AbwassertechnischeAnlage stammdatens = stammdaten.Find(x => x.Objektbezeichnung.Equals(iat.Objektbezeichnung));//; + AbwassertechnischeAnlage stammdatens = stammdaten.Find(x => x.Objektbezeichnung.Equals(iat.Objektbezeichnung) && x.ObjektArt.Equals(EObjektArt.KANTE));//; string[] filepathsplited = this.XmlFile.Split(Path.DirectorySeparatorChar); KanalObjekte.Add(new KanalObjekt() @@ -314,7 +314,6 @@ namespace Schnittstelle.Import.XML.v2013 ICodeBeschreibung codedescription = factory.GetCodeBeschreibung(rZustand); rZustand.KodeDescription = codedescription.GetBeschreibung; - //Console.WriteLine(rZustand.KodeDescription); result.Add(rZustand); } @@ -473,7 +472,7 @@ namespace Schnittstelle.Import.XML.v2013 case "Knoten": result.Knoten = parseStammdatenKnoten(aktuell); break; case "Kante": result.Kante = parseKante(aktuell); - QueueToRebuild.Enqueue(result); + //QueueToRebuild.Enqueue(result); break; case "Lage": break; @@ -522,7 +521,7 @@ namespace Schnittstelle.Import.XML.v2013 result.Knoten = parseGeometrieKnoten(s); break; case "Kanten": - parseGeometrieKanten(s); + result.Kanten = parseGeometrieKanten(s); break; default: throw new NotImplementedException(s.Name); } @@ -531,49 +530,55 @@ namespace Schnittstelle.Import.XML.v2013 return result; } - private void parseGeometrieKanten(XmlNode aktuel) + private List parseGeometrieKanten(XmlNode aktuel) { + List result = new List(); foreach (XmlNode s in aktuel.ChildNodes) { switch (s.Name) { case "Kante": - parseGeometrieKante(s); + result.Add(parseGeometrieKante(s)); break; default: throw new NotImplementedException(s.Name); } } + return result; } - private void parseGeometrieKante(XmlNode aktuel) + private PolyKante parseGeometrieKante(XmlNode aktuel) { + PolyKante result = new PolyKante(); foreach (XmlNode s in aktuel.ChildNodes) { switch (s.Name) { case "Start": - parseGeometrieKanteStartEnde(s); + result.Start = parseGeometrieKanteStartEnde(s); break; case "Ende": - parseGeometrieKanteStartEnde(s); + result.Ende = parseGeometrieKanteStartEnde(s); break; default: throw new NotImplementedException(s.Name); } } + return result; } - private void parseGeometrieKanteStartEnde(XmlNode aktuel) + private PolyKanteAttribute parseGeometrieKanteStartEnde(XmlNode aktuel) { + PolyKanteAttribute result = new PolyKanteAttribute(); foreach (XmlNode s in aktuel.ChildNodes) { switch (s.Name) { - case "Rechtswert": break; - case "Hochwert": break; - case "Punkthoehe": break; - case "PunktattributAbwasser": break; + case "Rechtswert": result.Rechtswert = Convert.ToDecimal(s.InnerText.Replace('.', ',')); break; + case "Hochwert": result.Hochwert = Convert.ToDecimal(s.InnerText.Replace('.', ',')); break; + case "Punkthoehe": result.Punkthoehe = Convert.ToDecimal(s.InnerText.Replace('.', ',')); break; + case "PunktattributAbwasser": result.PunktattributAbwasser = s.InnerText; break; default: throw new NotImplementedException(s.Name); } } + return result; } private Geometriedatenknoten parseGeometrieKnoten(XmlNode aktuel) @@ -650,7 +655,7 @@ namespace Schnittstelle.Import.XML.v2013 result.SohlhoeheAblauf = Convert.ToDecimal(s.InnerText.Replace('.',',')); break; case "Laenge": - result.Laenge = Convert.ToDecimal(s.InnerText); + result.Laenge = Convert.ToDecimal(s.InnerText.Replace('.',',')); break; case "Material": result.Material = s.InnerText;