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.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;
}
/*
* <Stammdaten>
<Stammdatentyp>1</Stammdatentyp>
<Bautechnik>1</Bautechnik>
<Geometrie>1</Geometrie>
<Sanierung>0</Sanierung>
<Umfeld>0</Umfeld>
</Stammdaten>
*/
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");

View File

@@ -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<Kanal> haltungen = new List<Kanal>()
{
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();