Weitere XML felder.

This commit is contained in:
2023-07-25 10:58:18 +02:00
parent a0067655b4
commit 7b8b5a2337
2 changed files with 88 additions and 24 deletions

View File

@@ -10,6 +10,16 @@ using System.Text;
using System.Threading.Tasks; using System.Threading.Tasks;
using System.Xml; 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 namespace WWTech_KanalSchnittstelle.Exporter.XML
{ {
public class XML2006 : IExport public class XML2006 : IExport
@@ -45,12 +55,30 @@ namespace WWTech_KanalSchnittstelle.Exporter.XML
private void DoAdmindata(XmlElement idElement) private void DoAdmindata(XmlElement idElement)
{ {
XmlElement parentElement = CreateElementFor("Admindaten", 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) private void DoCollectives(XmlElement idElement)
{ {
XmlElement dataCollectiveElement = DoRow(idElement, "Datenkollektive"); XmlElement dataCollectiveElement = DoRow(idElement, "Datenkollektive");
DoRowValue(dataCollectiveElement, "Datenstatus", "1");
DoRowValue(dataCollectiveElement, "Erstellungsdatum", "2023-07-25");
DoCollectives1Labels(dataCollectiveElement); DoCollectives1Labels(dataCollectiveElement);
DoCollectives2Base(dataCollectiveElement); DoCollectives2Base(dataCollectiveElement);
} }
@@ -94,8 +122,8 @@ namespace WWTech_KanalSchnittstelle.Exporter.XML
DoRowValue(PunktElement, "Punkthoehe", schacht.SohlHoehe.ToString().Replace(',', '.')); DoRowValue(PunktElement, "Punkthoehe", schacht.SohlHoehe.ToString().Replace(',', '.'));
DoRowValue(PunktElement, "PunktattributAbwasser", "SMP"); DoRowValue(PunktElement, "PunktattributAbwasser", "SMP");
PunktElement = CreateElementFor("Punkt", KnotenElement); PunktElement = CreateElementFor("Punkt", KnotenElement);
DoRowValue(PunktElement, "Rechtswert", schacht.DeckelRechtsWert.ToString().Replace(',', '.')); if(schacht.DeckelRechtsWert != 0) DoRowValue(PunktElement, "Rechtswert", schacht.DeckelRechtsWert.ToString().Replace(',', '.'));
DoRowValue(PunktElement, "Hochwert", schacht.DeckelHochWert.ToString().Replace(',', '.')); if(schacht.DeckelHochWert != 0) DoRowValue(PunktElement, "Hochwert", schacht.DeckelHochWert.ToString().Replace(',', '.'));
DoRowValue(PunktElement, "Punkthoehe", schacht.DeckelHoehe.ToString().Replace(',', '.')); DoRowValue(PunktElement, "Punkthoehe", schacht.DeckelHoehe.ToString().Replace(',', '.'));
DoRowValue(PunktElement, "PunktattributAbwasser", "DMP"); DoRowValue(PunktElement, "PunktattributAbwasser", "DMP");
return xmlElement; return xmlElement;
@@ -162,6 +190,15 @@ namespace WWTech_KanalSchnittstelle.Exporter.XML
return xmlElement; return xmlElement;
} }
/*
* <Stammdaten>
<Stammdatentyp>1</Stammdatentyp>
<Bautechnik>1</Bautechnik>
<Geometrie>1</Geometrie>
<Sanierung>0</Sanierung>
<Umfeld>0</Umfeld>
</Stammdaten>
*/
private void DoCollectives1Labels(XmlElement dataCollectiveElement) private void DoCollectives1Labels(XmlElement dataCollectiveElement)
{ {
XmlElement parentElement = CreateElementFor("Kennungen", dataCollectiveElement); XmlElement parentElement = CreateElementFor("Kennungen", dataCollectiveElement);
@@ -169,10 +206,16 @@ namespace WWTech_KanalSchnittstelle.Exporter.XML
DoRowValue(xmlElement, "Kennung", "STA01"); DoRowValue(xmlElement, "Kennung", "STA01");
DoRowValue(xmlElement, "Kollektivart", "1"); DoRowValue(xmlElement, "Kollektivart", "1");
XmlElement parentElement2 = CreateElementFor("Kollektiveigenschaft", xmlElement); XmlElement parentElement2 = CreateElementFor("Kollektiveigenschaft", xmlElement);
DoRow(parentElement2, "Stammdaten"); XmlElement parentElement3 = CreateElementFor("Stammdaten", parentElement2);// DoRow(parentElement2, "Stammdaten");
DoRow(parentElement2, "Zustandsdaten"); DoRowValue(parentElement3, "Stammdatentyp", "1");
DoRow(parentElement2, "Hydraulikdaten"); DoRowValue(parentElement3, "Bautechnik", "1");
DoRow(parentElement2, "Betriebsdaten"); 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, "Regelwerk", "2");
DoRowValue(xmlElement, "Bearbeitungsstand", "2"); DoRowValue(xmlElement, "Bearbeitungsstand", "2");
DoRowValue(xmlElement, "Kommentar", "test"); DoRowValue(xmlElement, "Kommentar", "test");

View File

@@ -20,33 +20,54 @@ namespace WWTech_KanalSchnittstelle.Exporter.XML.Tests
{ {
new Schacht() new Schacht()
{ {
Objektbezeichnung = "SW01", Objektbezeichnung = "08930438",
SohlHoehe = 0112.7m, SohlHoehe = -3.000m,
DeckelHoehe = 0108.8m, DeckelHoehe = 0.670m,
SohlHochWert = 123.93m, SohlHochWert = 5927107.130m,
SohlRechtsWert = 123.92m, SohlRechtsWert = 389469.142m,
DeckelHochWert = 14785,
}, },
new Schacht() new Schacht()
{ {
Objektbezeichnung = "SW02", Objektbezeichnung = "08930437",
SohlHoehe = 145, SohlHoehe = -2.060m,
SohlHochWert = 14, DeckelHoehe = 0.690m,
SohlRechtsWert = 28, SohlHochWert = 5927131.379m,
DeckelHochWert = 14, SohlRechtsWert = 389524.332m,
}
},
new Schacht()
{
Objektbezeichnung = "08930436",
SohlHoehe = -1.900m,
DeckelHoehe = 0.680m,
SohlHochWert = 5927154.010m,
SohlRechtsWert = 389575.684m,
},
}; };
List<Kanal> haltungen = new List<Kanal>() List<Kanal> haltungen = new List<Kanal>()
{ {
new Kanal() new Kanal()
{ {
StartSchacht = schaechte[0], StartSchacht = schaechte[1],
EndSchacht = schaechte[1], EndSchacht = schaechte[0],
DN = 200, DN = 250,
Entwaesserung = EEntwaeserung.Regenwasser, Entwaesserung = EEntwaeserung.Schmutzwasser,
Haltungslaenge = 53.93m, Haltungslaenge = 60.20m,
Material = "STZ", 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(); XML2006 xmloutput = new XML2006();