XML exporter fertiggestellt

Verschiedene Versionen implementiert
This commit is contained in:
2023-07-26 15:56:57 +02:00
parent 7b8b5a2337
commit c933989d19
6 changed files with 494 additions and 20 deletions

View File

@@ -27,7 +27,15 @@ namespace WWTech_KanalSchnittstelle.Exporter.XML
private XmlDocument _file;
private List<Schacht> _schaechte;
private List<Kanal> _haltungen;
public async Task<bool> Export(string projektname, EKodierungssystem kodierungssystem, List<Kanal> haltungen, List<Schacht> schaechte, IWWLog logger)
private static Dictionary<EExportType, Tuple<string, string>> ExportVersionen = new Dictionary<EExportType, Tuple<string, string>>()
{
{ EExportType.XML2006, new Tuple<string, string>("2006-10","2") },
{ EExportType.XML2013, new Tuple<string, string>("2013-02","5") },
{ EExportType.XML2017, new Tuple<string, string>("2017-07","6") }
};
public async Task<bool> Export(string projektname, EKodierungssystem kodierungssystem,List<Kanal> haltungen, List<Schacht> schaechte, IWWLog logger)
{
_schaechte = schaechte;
_haltungen = haltungen;
@@ -37,7 +45,8 @@ namespace WWTech_KanalSchnittstelle.Exporter.XML
XmlElement xmlElement = CreateElementFor("Identifikation", _file);
xmlElement.SetAttribute("xmlns", "http://www.ofd-hannover.la/Identifikation");
XmlElement xmlElement2 = CreateElementFor("Version", xmlElement);
xmlElement2.InnerText = "2006-2"; // XML Version
xmlElement2.InnerText = ExportVersionen[EExportType.XML2006].Item1; // XML Version
DoAdmindata(xmlElement);
DoCollectives(xmlElement);
@@ -115,7 +124,8 @@ namespace WWTech_KanalSchnittstelle.Exporter.XML
DoRowValue(xmlElement2, "SchachtFunktion", "1");
XmlElement GeometrieElement = CreateElementFor("Geometrie", xmlElement);
XmlElement KnotenElement = CreateElementFor("Knoten", GeometrieElement);
XmlElement GeometrieDaten = CreateElementFor("Geometriedaten", GeometrieElement);
XmlElement KnotenElement = CreateElementFor("Knoten", GeometrieDaten);
XmlElement PunktElement = CreateElementFor("Punkt", KnotenElement);
DoRowValue(PunktElement, "Rechtswert", schacht.SohlRechtsWert.ToString().Replace(',', '.'));
DoRowValue(PunktElement, "Hochwert", schacht.SohlHochWert.ToString().Replace(',', '.'));
@@ -190,15 +200,6 @@ 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);
@@ -206,17 +207,17 @@ namespace WWTech_KanalSchnittstelle.Exporter.XML
DoRowValue(xmlElement, "Kennung", "STA01");
DoRowValue(xmlElement, "Kollektivart", "1");
XmlElement parentElement2 = CreateElementFor("Kollektiveigenschaft", xmlElement);
XmlElement parentElement3 = CreateElementFor("Stammdaten", parentElement2);// DoRow(parentElement2, "Stammdaten");
XmlElement parentElement3 = CreateElementFor("Stammdaten", parentElement2);
DoRowValue(parentElement3, "Stammdatentyp", "1");
DoRowValue(parentElement3, "Bautechnik", "1");
DoRowValue(parentElement3, "Geometrie", "1");
DoRowValue(parentElement3, "Sanierung", "1");
DoRowValue(parentElement3, "Umfeld", "1");
DoRowValue(parentElement3, "Sanierung", "0");
DoRowValue(parentElement3, "Umfeld", "0");
//DoRow(parentElement2, "Zustandsdaten");
//DoRow(parentElement2, "Hydraulikdaten");
//DoRow(parentElement2, "Betriebsdaten");
DoRowValue(xmlElement, "Regelwerk", "2");
DoRowValue(xmlElement, "Regelwerk", ExportVersionen[EExportType.XML2006].Item2);
DoRowValue(xmlElement, "Bearbeitungsstand", "2");
DoRowValue(xmlElement, "Kommentar", "test");
}