Importer weiter geschrieben
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Text;
|
||||||
|
|
||||||
namespace Schnittstelle.Import.XML.v2013.Model
|
namespace Schnittstelle.Import.XML.v2013.Model
|
||||||
{
|
{
|
||||||
@@ -6,6 +7,10 @@ namespace Schnittstelle.Import.XML.v2013.Model
|
|||||||
{
|
{
|
||||||
List<PolyKante> kanten;
|
List<PolyKante> kanten;
|
||||||
|
|
||||||
|
private Geometriedatenknoten knoten;
|
||||||
|
|
||||||
|
public Geometriedatenknoten Knoten { get => knoten; set => knoten = value; }
|
||||||
|
|
||||||
public List<PolyKante> Kanten
|
public List<PolyKante> Kanten
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
@@ -18,4 +23,24 @@ namespace Schnittstelle.Import.XML.v2013.Model
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public class Geometriedatenknoten
|
||||||
|
{
|
||||||
|
private List<Punkt> punkt = new List<Punkt>();
|
||||||
|
|
||||||
|
public List<Punkt> Punkt { get => punkt; set => punkt = value; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public class Punkt
|
||||||
|
{
|
||||||
|
private decimal rechtswert;
|
||||||
|
private decimal hochwert;
|
||||||
|
private decimal punkthoehe;
|
||||||
|
private string punktattributabwasser;
|
||||||
|
|
||||||
|
public decimal Rechtswert { get => rechtswert; set => rechtswert = value; }
|
||||||
|
public decimal Hochwert { get => hochwert; set => hochwert = value; }
|
||||||
|
public decimal Punkthoehe { get => punkthoehe; set => punkthoehe = value; }
|
||||||
|
public string PunktattributeAbwasser { get => punktattributabwasser; set => punktattributabwasser = value; }
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,12 +4,14 @@ namespace Schnittstelle.Import.XML.v2013.Model
|
|||||||
{
|
{
|
||||||
decimal sohlhoeheZulauf;
|
decimal sohlhoeheZulauf;
|
||||||
decimal sohlhoeheAblauf;
|
decimal sohlhoeheAblauf;
|
||||||
|
decimal laenge;
|
||||||
Knoten? knotenZulauf;
|
Knoten? knotenZulauf;
|
||||||
Knoten? knotenAblauf;
|
Knoten? knotenAblauf;
|
||||||
int knotenAblaufTyp;
|
int knotenAblaufTyp;
|
||||||
int knotenZulaufTyp;
|
int knotenZulaufTyp;
|
||||||
bool isFiktiveLeitung = true;
|
bool isFiktiveLeitung = true;
|
||||||
Profil profil;
|
Profil profil;
|
||||||
|
private string material;
|
||||||
|
|
||||||
public string knotenZulaufTemp;
|
public string knotenZulaufTemp;
|
||||||
public string knotenAblaufTemp;
|
public string knotenAblaufTemp;
|
||||||
@@ -22,5 +24,7 @@ namespace Schnittstelle.Import.XML.v2013.Model
|
|||||||
public int KnotenZulaufTyp { get => knotenZulaufTyp; set => knotenZulaufTyp = value; }
|
public int KnotenZulaufTyp { get => knotenZulaufTyp; set => knotenZulaufTyp = value; }
|
||||||
public bool IsFiktiveLeitung { get => isFiktiveLeitung; set => isFiktiveLeitung = value; }
|
public bool IsFiktiveLeitung { get => isFiktiveLeitung; set => isFiktiveLeitung = value; }
|
||||||
public Profil Profil { get => profil; set => profil = value; }
|
public Profil Profil { get => profil; set => profil = value; }
|
||||||
|
public decimal Laenge { get => laenge; set => laenge = value; }
|
||||||
|
public string Material { get => material; set => material = value; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -146,6 +146,7 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
result.Lage = new Lage(strassename, ortname);
|
result.Lage = new Lage(strassename, ortname);
|
||||||
break;
|
break;
|
||||||
case "OptischeInspektion": result.OptischeInspektion.Add(parseOptischeInspektion(d)); break;
|
case "OptischeInspektion": result.OptischeInspektion.Add(parseOptischeInspektion(d)); break;
|
||||||
|
default: throw new NotImplementedException(d.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
@@ -439,6 +440,7 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
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 = Convert.ToDecimal(d.InnerText.Replace('.', ',')); break;
|
||||||
case "Fixierung": result.Fixierung = d.InnerText; break;
|
case "Fixierung": result.Fixierung = d.InnerText; break;
|
||||||
|
default: throw new NotImplementedException(d.Name);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -491,36 +493,171 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
|
|
||||||
private Geometrie parseGeometrie(XmlNode aktuell)
|
private Geometrie parseGeometrie(XmlNode aktuell)
|
||||||
{
|
{
|
||||||
|
Geometrie result = new Geometrie();
|
||||||
|
foreach (XmlNode s in aktuell.ChildNodes)
|
||||||
|
{
|
||||||
|
switch (s.Name)
|
||||||
|
{
|
||||||
|
case "GeoObjekttyp": break;
|
||||||
|
case "Geometriedaten":
|
||||||
|
result.Geometriedaten = parseGeometrieDaten(s);
|
||||||
|
break;
|
||||||
|
case "GeoObjektart": break;
|
||||||
|
|
||||||
return new Geometrie();
|
default: throw new NotImplementedException(s.Name);
|
||||||
//throw new NotImplementedException();
|
}
|
||||||
|
}
|
||||||
|
return result;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private Geometriedaten parseGeometrieDaten(XmlNode aktuel)
|
||||||
|
{
|
||||||
|
Geometriedaten result = new Geometriedaten();
|
||||||
|
foreach (XmlNode s in aktuel.ChildNodes)
|
||||||
|
{
|
||||||
|
switch (s.Name)
|
||||||
|
{
|
||||||
|
case "Knoten":
|
||||||
|
result.Knoten = parseGeometrieKnoten(s);
|
||||||
|
break;
|
||||||
|
case "Kanten":
|
||||||
|
parseGeometrieKanten(s);
|
||||||
|
break;
|
||||||
|
default: throw new NotImplementedException(s.Name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void parseGeometrieKanten(XmlNode aktuel)
|
||||||
|
{
|
||||||
|
foreach (XmlNode s in aktuel.ChildNodes)
|
||||||
|
{
|
||||||
|
switch (s.Name)
|
||||||
|
{
|
||||||
|
case "Kante":
|
||||||
|
parseGeometrieKante(s);
|
||||||
|
break;
|
||||||
|
default: throw new NotImplementedException(s.Name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void parseGeometrieKante(XmlNode aktuel)
|
||||||
|
{
|
||||||
|
foreach (XmlNode s in aktuel.ChildNodes)
|
||||||
|
{
|
||||||
|
switch (s.Name)
|
||||||
|
{
|
||||||
|
case "Start":
|
||||||
|
parseGeometrieKanteStartEnde(s);
|
||||||
|
break;
|
||||||
|
case "Ende":
|
||||||
|
parseGeometrieKanteStartEnde(s);
|
||||||
|
break;
|
||||||
|
default: throw new NotImplementedException(s.Name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
private void parseGeometrieKanteStartEnde(XmlNode aktuel)
|
||||||
|
{
|
||||||
|
foreach (XmlNode s in aktuel.ChildNodes)
|
||||||
|
{
|
||||||
|
switch (s.Name)
|
||||||
|
{
|
||||||
|
case "Rechtswert": break;
|
||||||
|
case "Hochwert": break;
|
||||||
|
case "Punkthoehe": break;
|
||||||
|
case "PunktattributAbwasser": break;
|
||||||
|
default: throw new NotImplementedException(s.Name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private Geometriedatenknoten parseGeometrieKnoten(XmlNode aktuel)
|
||||||
|
{
|
||||||
|
Geometriedatenknoten result = new Geometriedatenknoten();
|
||||||
|
foreach (XmlNode s in aktuel.ChildNodes)
|
||||||
|
{
|
||||||
|
switch (s.Name)
|
||||||
|
{
|
||||||
|
case "Punkt":
|
||||||
|
result.Punkt.Add(parseGeometrieKnotenPunkt(s));
|
||||||
|
break;
|
||||||
|
default: throw new NotImplementedException(s.Name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return result;
|
||||||
|
}
|
||||||
|
|
||||||
|
private Punkt parseGeometrieKnotenPunkt(XmlNode aktuel)
|
||||||
|
{
|
||||||
|
Punkt punkt = new Punkt();
|
||||||
|
foreach (XmlNode s in aktuel.ChildNodes)
|
||||||
|
{
|
||||||
|
switch (s.Name)
|
||||||
|
{
|
||||||
|
case "Rechtswert":
|
||||||
|
punkt.Rechtswert = Convert.ToDecimal(s.InnerText.Replace('.', ','));
|
||||||
|
break;
|
||||||
|
case "Hochwert":
|
||||||
|
punkt.Hochwert = Convert.ToDecimal(s.InnerText.Replace('.', ','));
|
||||||
|
break;
|
||||||
|
case "Punkthoehe":
|
||||||
|
punkt.Punkthoehe = Convert.ToDecimal(s.InnerText.Replace('.', ','));
|
||||||
|
break;
|
||||||
|
case "PunktattributAbwasser":
|
||||||
|
punkt.PunktattributeAbwasser = s.InnerText;
|
||||||
|
break;
|
||||||
|
default: throw new NotImplementedException(s.Name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return punkt;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Kante parseKante(XmlNode aktuell)
|
private Kante parseKante(XmlNode aktuell)
|
||||||
{
|
{
|
||||||
/*
|
|
||||||
KantenTyp
|
|
||||||
KnotenZulauf
|
|
||||||
KnotenZulaufTyp
|
|
||||||
KnotenAblauf
|
|
||||||
KnotenAblaufTyp
|
|
||||||
SohlhoeheZulauf
|
|
||||||
SohlhoeheAblauf
|
|
||||||
Laenge
|
|
||||||
Material
|
|
||||||
Profil
|
|
||||||
Haltung
|
|
||||||
*/
|
|
||||||
Kante result = new Kante();
|
Kante result = new Kante();
|
||||||
|
|
||||||
foreach (XmlNode s in aktuell.ChildNodes)
|
foreach (XmlNode s in aktuell.ChildNodes)
|
||||||
{
|
{
|
||||||
switch (s.Name)
|
switch (s.Name)
|
||||||
{
|
{
|
||||||
case "KnotenZulauf": result.knotenZulaufTemp = s.InnerText; break;
|
case "KnotenZulauf":
|
||||||
case "KnotenAblauf": result.knotenAblaufTemp = s.InnerText; break;
|
result.knotenZulaufTemp = s.InnerText;
|
||||||
case "Profil": result.Profil = getProfil(s); break;
|
break;
|
||||||
|
case "KnotenAblauf":
|
||||||
|
result.knotenAblaufTemp = s.InnerText;
|
||||||
|
break;
|
||||||
|
case "Profil":
|
||||||
|
result.Profil = getProfil(s);
|
||||||
|
break;
|
||||||
|
case "KantenTyp":
|
||||||
|
break;
|
||||||
|
case "KnotenZulaufTyp":
|
||||||
|
result.KnotenZulaufTyp = Convert.ToInt32(s.InnerText);
|
||||||
|
break;
|
||||||
|
case "KnotenAblaufTyp":
|
||||||
|
result.KnotenAblaufTyp = Convert.ToInt32(s.InnerText);
|
||||||
|
break;
|
||||||
|
case "SohlhoeheZulauf":
|
||||||
|
result.SohlhoeheZulauf = Convert.ToDecimal(s.InnerText.Replace('.',','));
|
||||||
|
break;
|
||||||
|
case "SohlhoeheAblauf":
|
||||||
|
result.SohlhoeheAblauf = Convert.ToDecimal(s.InnerText.Replace('.',','));
|
||||||
|
break;
|
||||||
|
case "Laenge":
|
||||||
|
result.Laenge = Convert.ToDecimal(s.InnerText);
|
||||||
|
break;
|
||||||
|
case "Material":
|
||||||
|
result.Material = s.InnerText;
|
||||||
|
break;
|
||||||
|
case "Haltung":
|
||||||
|
break;
|
||||||
|
default: throw new NotImplementedException(s.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
@@ -553,6 +690,7 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
case "KnotenTyp": result.KnotenTyp = (EKnotenTyp)Convert.ToInt32(s.InnerText); break;
|
case "KnotenTyp": result.KnotenTyp = (EKnotenTyp)Convert.ToInt32(s.InnerText); break;
|
||||||
case "Anschlusspunkt": result.Anschlusspunkt = new Anschlusspunkt() { Punktkennung = s.InnerText }; break;
|
case "Anschlusspunkt": result.Anschlusspunkt = new Anschlusspunkt() { Punktkennung = s.InnerText }; break;
|
||||||
case "Schacht": result.Schacht = parseSchacht(s); break;
|
case "Schacht": result.Schacht = parseSchacht(s); break;
|
||||||
|
default: throw new NotImplementedException(s.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -567,7 +705,20 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
switch (n.Name)
|
switch (n.Name)
|
||||||
{
|
{
|
||||||
case "SchachtFunktion": result.SchachtFunktion = (ESchachtFunktion)Convert.ToInt32(n.InnerText); break;
|
case "SchachtFunktion": result.SchachtFunktion = (ESchachtFunktion)Convert.ToInt32(n.InnerText); break;
|
||||||
case "Schachttiefe": result.SchachtTiefe = Convert.ToDecimal(n.InnerText); break;
|
case "Schachttiefe":
|
||||||
|
result.SchachtTiefe = Convert.ToDecimal(n.InnerText);
|
||||||
|
Debugger.Break();
|
||||||
|
break;
|
||||||
|
case "Einstieghilfe": break;
|
||||||
|
case "ArtEinstieghilfe": break;
|
||||||
|
case "MaterialSteighilfen": break;
|
||||||
|
case "AnzahlDeckel": break;
|
||||||
|
case "Abdeckung": break;
|
||||||
|
case "Aufbau": break;
|
||||||
|
case "UntereSchachtzone": break;
|
||||||
|
case "Unterteil": break;
|
||||||
|
case "AnzahlAnschluesse": break;
|
||||||
|
default: throw new NotImplementedException(n.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
|
|||||||
@@ -31,6 +31,8 @@ namespace Schnittstelle.Sanierung
|
|||||||
public Renovation() : base("Renovation")
|
public Renovation() : base("Renovation")
|
||||||
{
|
{
|
||||||
Sanierungen.Add("BCA", new Tuple<string, double>("Einmessen, Öffnen, Hut", 800));
|
Sanierungen.Add("BCA", new Tuple<string, double>("Einmessen, Öffnen, Hut", 800));
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user