From 7b8b5a23371cccdfd59b84bb27d7d4ad750b048e Mon Sep 17 00:00:00 2001 From: Damian Wessels Date: Tue, 25 Jul 2023 10:58:18 +0200 Subject: [PATCH] Weitere XML felder. --- .../Exporter/XML/XML2006.cs | 55 ++++++++++++++++-- .../Exporter/XML/XML2006Tests.cs | 57 +++++++++++++------ 2 files changed, 88 insertions(+), 24 deletions(-) diff --git a/WWTech_KanalSchnittstelle/Exporter/XML/XML2006.cs b/WWTech_KanalSchnittstelle/Exporter/XML/XML2006.cs index 2d6340c..e3b9580 100644 --- a/WWTech_KanalSchnittstelle/Exporter/XML/XML2006.cs +++ b/WWTech_KanalSchnittstelle/Exporter/XML/XML2006.cs @@ -10,6 +10,16 @@ using System.Text; using System.Threading.Tasks; using System.Xml; + +// TODO: Admindaten fehlen + +// TODO: Datenkollektive fehlen Datenstatus und Erstellungsdatum +// Stammdatenkollektiv auszufüllen +/* +Stammdatenkollektiv fehlt: GeoObjektart unter Geometrie + + +*/ namespace WWTech_KanalSchnittstelle.Exporter.XML { public class XML2006 : IExport @@ -45,12 +55,30 @@ namespace WWTech_KanalSchnittstelle.Exporter.XML private void DoAdmindata(XmlElement idElement) { XmlElement parentElement = CreateElementFor("Admindaten", idElement); + XmlElement Liegenschaft = CreateElementFor("Liegenschaft", parentElement); + DoRowValue(Liegenschaft, "Liegenschaftsnummer", "0"); + DoRowValue(Liegenschaft, "Objektnummer", "0"); + DoRowValue(Liegenschaft, "Liegenschaftsbezeichnung", "0"); + DoRowValue(Liegenschaft, "Liegenschaftsort", "0"); + DoRowValue(Liegenschaft, "Liegenschaftsnutzung", "komunal"); + XmlElement Verwaltung = CreateElementFor("Verwaltung", parentElement); + DoRowValue(Verwaltung, "DienststelleVerwaltend", "123"); + DoRowValue(Verwaltung, "DienststelleHausverwaltend", "123"); + DoRowValue(Verwaltung, "DienststelleBauaufsicht", "123"); + DoRowValue(Verwaltung, "DienststelleBaudurchfuehrung", "123"); + DoRowValue(Verwaltung, "NummerDienststelleBaudurchfuehrung", "123"); + DoRowValue(Verwaltung, "Zustaendigkeitsbereich", "123"); + DoRowValue(Verwaltung, "Aktenzeichen", "123"); + DoRowValue(Verwaltung, "Abwasserbeseitigungspflicht", "1"); + DoRowValue(Verwaltung, "Wasserbehoerde", "123"); } private void DoCollectives(XmlElement idElement) { XmlElement dataCollectiveElement = DoRow(idElement, "Datenkollektive"); + DoRowValue(dataCollectiveElement, "Datenstatus", "1"); + DoRowValue(dataCollectiveElement, "Erstellungsdatum", "2023-07-25"); DoCollectives1Labels(dataCollectiveElement); DoCollectives2Base(dataCollectiveElement); } @@ -94,8 +122,8 @@ namespace WWTech_KanalSchnittstelle.Exporter.XML DoRowValue(PunktElement, "Punkthoehe", schacht.SohlHoehe.ToString().Replace(',', '.')); DoRowValue(PunktElement, "PunktattributAbwasser", "SMP"); PunktElement = CreateElementFor("Punkt", KnotenElement); - DoRowValue(PunktElement, "Rechtswert", schacht.DeckelRechtsWert.ToString().Replace(',', '.')); - DoRowValue(PunktElement, "Hochwert", schacht.DeckelHochWert.ToString().Replace(',', '.')); + if(schacht.DeckelRechtsWert != 0) DoRowValue(PunktElement, "Rechtswert", schacht.DeckelRechtsWert.ToString().Replace(',', '.')); + if(schacht.DeckelHochWert != 0) DoRowValue(PunktElement, "Hochwert", schacht.DeckelHochWert.ToString().Replace(',', '.')); DoRowValue(PunktElement, "Punkthoehe", schacht.DeckelHoehe.ToString().Replace(',', '.')); DoRowValue(PunktElement, "PunktattributAbwasser", "DMP"); return xmlElement; @@ -162,6 +190,15 @@ namespace WWTech_KanalSchnittstelle.Exporter.XML return xmlElement; } + /* + * + 1 + 1 + 1 + 0 + 0 + + */ private void DoCollectives1Labels(XmlElement dataCollectiveElement) { XmlElement parentElement = CreateElementFor("Kennungen", dataCollectiveElement); @@ -169,10 +206,16 @@ namespace WWTech_KanalSchnittstelle.Exporter.XML DoRowValue(xmlElement, "Kennung", "STA01"); DoRowValue(xmlElement, "Kollektivart", "1"); XmlElement parentElement2 = CreateElementFor("Kollektiveigenschaft", xmlElement); - DoRow(parentElement2, "Stammdaten"); - DoRow(parentElement2, "Zustandsdaten"); - DoRow(parentElement2, "Hydraulikdaten"); - DoRow(parentElement2, "Betriebsdaten"); + XmlElement parentElement3 = CreateElementFor("Stammdaten", parentElement2);// DoRow(parentElement2, "Stammdaten"); + DoRowValue(parentElement3, "Stammdatentyp", "1"); + DoRowValue(parentElement3, "Bautechnik", "1"); + DoRowValue(parentElement3, "Geometrie", "1"); + DoRowValue(parentElement3, "Sanierung", "1"); + DoRowValue(parentElement3, "Umfeld", "1"); + + //DoRow(parentElement2, "Zustandsdaten"); + //DoRow(parentElement2, "Hydraulikdaten"); + //DoRow(parentElement2, "Betriebsdaten"); DoRowValue(xmlElement, "Regelwerk", "2"); DoRowValue(xmlElement, "Bearbeitungsstand", "2"); DoRowValue(xmlElement, "Kommentar", "test"); diff --git a/WWTech_KanalSchnittstelleTests/Exporter/XML/XML2006Tests.cs b/WWTech_KanalSchnittstelleTests/Exporter/XML/XML2006Tests.cs index cc05466..d84010b 100644 --- a/WWTech_KanalSchnittstelleTests/Exporter/XML/XML2006Tests.cs +++ b/WWTech_KanalSchnittstelleTests/Exporter/XML/XML2006Tests.cs @@ -20,33 +20,54 @@ namespace WWTech_KanalSchnittstelle.Exporter.XML.Tests { new Schacht() { - Objektbezeichnung = "SW01", - SohlHoehe = 0112.7m, - DeckelHoehe = 0108.8m, - SohlHochWert = 123.93m, - SohlRechtsWert = 123.92m, - DeckelHochWert = 14785, + Objektbezeichnung = "08930438", + SohlHoehe = -3.000m, + DeckelHoehe = 0.670m, + SohlHochWert = 5927107.130m, + SohlRechtsWert = 389469.142m, + }, new Schacht() { - Objektbezeichnung = "SW02", - SohlHoehe = 145, - SohlHochWert = 14, - SohlRechtsWert = 28, - DeckelHochWert = 14, - } + Objektbezeichnung = "08930437", + SohlHoehe = -2.060m, + DeckelHoehe = 0.690m, + SohlHochWert = 5927131.379m, + SohlRechtsWert = 389524.332m, + + }, + new Schacht() + { + Objektbezeichnung = "08930436", + SohlHoehe = -1.900m, + DeckelHoehe = 0.680m, + SohlHochWert = 5927154.010m, + SohlRechtsWert = 389575.684m, + + }, + }; List haltungen = new List() { new Kanal() { - StartSchacht = schaechte[0], - EndSchacht = schaechte[1], - DN = 200, - Entwaesserung = EEntwaeserung.Regenwasser, - Haltungslaenge = 53.93m, + StartSchacht = schaechte[1], + EndSchacht = schaechte[0], + DN = 250, + Entwaesserung = EEntwaeserung.Schmutzwasser, + Haltungslaenge = 60.20m, Material = "STZ", - Objektbezeichnung = schaechte[0].Objektbezeichnung + Objektbezeichnung = schaechte[1].Objektbezeichnung + }, + new Kanal() + { + StartSchacht = schaechte[2], + EndSchacht = schaechte[1], + DN = 250, + Entwaesserung = EEntwaeserung.Schmutzwasser, + Haltungslaenge = 56.30m, + Material = "STZ", + Objektbezeichnung = schaechte[2].Objektbezeichnung } }; XML2006 xmloutput = new XML2006();