umgeschrieben auf static funktion

This commit is contained in:
Damian Wessels
2024-08-26 12:23:32 +02:00
parent 4071b526f0
commit 3c8cd670b4

View File

@@ -35,6 +35,22 @@ namespace Schnittstelle.Import.XML.v2013
RebuildStammdaten(); RebuildStammdaten();
} }
private static decimal ConvertXMLToDecimal(string input)
{
string str = string.Empty;
if(input.Contains('.'))
{
str = input.Replace('.', ',');
}
else
{
str = input;
}
if (decimal.TryParse(str, out decimal result)) return result;
else return new decimal();
}
private void RebuildStammdaten() private void RebuildStammdaten()
{ {
// liste an knoten // liste an knoten
@@ -195,7 +211,7 @@ namespace Schnittstelle.Import.XML.v2013
result.Rohrleitungstyp = (ERohrleitungstyp)Convert.ToInt32(d.InnerText); result.Rohrleitungstyp = (ERohrleitungstyp)Convert.ToInt32(d.InnerText);
break; break;
case "Inspektionslaenge": case "Inspektionslaenge":
result.Inspektionslaenge = Convert.ToDecimal(d.InnerText.Replace('.', ',')); result.Inspektionslaenge = ConvertXMLToDecimal(d.InnerText);
break; break;
case "Inspektionsrichtung": case "Inspektionsrichtung":
result.Inspektionsrichtung = d.InnerText; result.Inspektionsrichtung = d.InnerText;
@@ -253,7 +269,7 @@ namespace Schnittstelle.Import.XML.v2013
switch (d.Name) switch (d.Name)
{ {
case "Station": case "Station":
rZustand.Station = Convert.ToDecimal(d.InnerText.Replace('.', ',')); rZustand.Station = ConvertXMLToDecimal(d.InnerText);
break; break;
case "InspektionsKode": case "InspektionsKode":
rZustand.Inspektionskode = d.InnerText; rZustand.Inspektionskode = d.InnerText;
@@ -275,12 +291,12 @@ namespace Schnittstelle.Import.XML.v2013
break; break;
case "Quantifizierung1Numerisch": case "Quantifizierung1Numerisch":
Quantifizierung quantifizierung1 = new Quantifizierung(); Quantifizierung quantifizierung1 = new Quantifizierung();
quantifizierung1.Numerisch = Convert.ToDecimal(d.InnerText.Replace('.', ',')); quantifizierung1.Numerisch = ConvertXMLToDecimal(d.InnerText);
rZustand.Quantifizierung1 = quantifizierung1; rZustand.Quantifizierung1 = quantifizierung1;
break; break;
case "Quantifizierung2Numerisch": case "Quantifizierung2Numerisch":
Quantifizierung quantifizierung2 = new Quantifizierung(); Quantifizierung quantifizierung2 = new Quantifizierung();
quantifizierung2.Numerisch = Convert.ToDecimal(d.InnerText.Replace('.', ',')); quantifizierung2.Numerisch = ConvertXMLToDecimal(d.InnerText);
rZustand.Quantifizierung1 = quantifizierung2; rZustand.Quantifizierung1 = quantifizierung2;
break; break;
case "Quantifizierung1Text": case "Quantifizierung1Text":
@@ -404,7 +420,7 @@ namespace Schnittstelle.Import.XML.v2013
case "Profilart": grunddaten.Profilart = Convert.ToInt32(d.InnerText); break; case "Profilart": grunddaten.Profilart = Convert.ToInt32(d.InnerText); break;
case "HerkunftMaterial": grunddaten.HerkunftMaterial = Convert.ToInt32(d.InnerText); break; case "HerkunftMaterial": grunddaten.HerkunftMaterial = Convert.ToInt32(d.InnerText); break;
case "Material": grunddaten.Material = d.InnerText; break; case "Material": grunddaten.Material = d.InnerText; break;
case "Regeleinzelrohrlaenge": grunddaten.Regeleinzelrohrlaenge = Convert.ToDecimal(d.InnerText.Replace('.', ',')); break; case "Regeleinzelrohrlaenge": grunddaten.Regeleinzelrohrlaenge = ConvertXMLToDecimal(d.InnerText); break;
case "ArtAuskleidung": grunddaten.ArtAuskleidung = Convert.ToInt32(d.InnerText); break; case "ArtAuskleidung": grunddaten.ArtAuskleidung = Convert.ToInt32(d.InnerText); break;
case "Kanalart": grunddaten.Kanalart = d.InnerText; break; case "Kanalart": grunddaten.Kanalart = d.InnerText; break;
case "Anschlussdaten": grunddaten.Anschlussddaten = ParseAnschlussdaten(d); break; case "Anschlussdaten": grunddaten.Anschlussddaten = ParseAnschlussdaten(d); break;
@@ -437,7 +453,7 @@ namespace Schnittstelle.Import.XML.v2013
{ {
case "Objektbezeichnung": result.Objektbezeichnung = d.InnerText; break; case "Objektbezeichnung": result.Objektbezeichnung = d.InnerText; break;
case "Kantentyp": result.Kantentyp = (EKantenTyp)Convert.ToInt32(d.InnerText); break; case "Kantentyp": result.Kantentyp = (EKantenTyp)Convert.ToInt32(d.InnerText); break;
case "Entfernung": result.Entfernung = Convert.ToDecimal(d.InnerText.Replace('.', ',')); break; case "Entfernung": result.Entfernung = ConvertXMLToDecimal(d.InnerText); break;
case "Fixierung": result.Fixierung = d.InnerText; break; case "Fixierung": result.Fixierung = d.InnerText; break;
default: throw new NotImplementedException(d.Name); default: throw new NotImplementedException(d.Name);
@@ -571,9 +587,9 @@ namespace Schnittstelle.Import.XML.v2013
{ {
switch (s.Name) switch (s.Name)
{ {
case "Rechtswert": result.Rechtswert = Convert.ToDecimal(s.InnerText.Replace('.', ',')); break; case "Rechtswert": result.Rechtswert = ConvertXMLToDecimal(s.InnerText); break;
case "Hochwert": result.Hochwert = Convert.ToDecimal(s.InnerText.Replace('.', ',')); break; case "Hochwert": result.Hochwert = ConvertXMLToDecimal(s.InnerText); break;
case "Punkthoehe": result.Punkthoehe = Convert.ToDecimal(s.InnerText.Replace('.', ',')); break; case "Punkthoehe": result.Punkthoehe = ConvertXMLToDecimal(s.InnerText); break;
case "PunktattributAbwasser": result.PunktattributAbwasser = s.InnerText; break; case "PunktattributAbwasser": result.PunktattributAbwasser = s.InnerText; break;
default: throw new NotImplementedException(s.Name); default: throw new NotImplementedException(s.Name);
} }
@@ -606,13 +622,13 @@ namespace Schnittstelle.Import.XML.v2013
switch (s.Name) switch (s.Name)
{ {
case "Rechtswert": case "Rechtswert":
punkt.Rechtswert = Convert.ToDecimal(s.InnerText.Replace('.', ',')); punkt.Rechtswert = ConvertXMLToDecimal(s.InnerText);
break; break;
case "Hochwert": case "Hochwert":
punkt.Hochwert = Convert.ToDecimal(s.InnerText.Replace('.', ',')); punkt.Hochwert = ConvertXMLToDecimal(s.InnerText);
break; break;
case "Punkthoehe": case "Punkthoehe":
punkt.Punkthoehe = Convert.ToDecimal(s.InnerText.Replace('.', ',')); punkt.Punkthoehe = ConvertXMLToDecimal(s.InnerText);
break; break;
case "PunktattributAbwasser": case "PunktattributAbwasser":
punkt.PunktattributeAbwasser = s.InnerText; punkt.PunktattributeAbwasser = s.InnerText;
@@ -649,13 +665,13 @@ namespace Schnittstelle.Import.XML.v2013
result.KnotenAblaufTyp = Convert.ToInt32(s.InnerText); result.KnotenAblaufTyp = Convert.ToInt32(s.InnerText);
break; break;
case "SohlhoeheZulauf": case "SohlhoeheZulauf":
result.SohlhoeheZulauf = Convert.ToDecimal(s.InnerText.Replace('.',',')); result.SohlhoeheZulauf = ConvertXMLToDecimal(s.InnerText);
break; break;
case "SohlhoeheAblauf": case "SohlhoeheAblauf":
result.SohlhoeheAblauf = Convert.ToDecimal(s.InnerText.Replace('.',',')); result.SohlhoeheAblauf = ConvertXMLToDecimal(s.InnerText);
break; break;
case "Laenge": case "Laenge":
result.Laenge = Convert.ToDecimal(s.InnerText.Replace('.',',')); result.Laenge = ConvertXMLToDecimal(s.InnerText);
break; break;
case "Material": case "Material":
result.Material = s.InnerText; result.Material = s.InnerText;