diff --git a/Schnittstelle.sln b/Schnittstelle.sln new file mode 100644 index 0000000..bbb7bc2 --- /dev/null +++ b/Schnittstelle.sln @@ -0,0 +1,25 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.5.33530.505 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Schnittstelle", "Schnittstelle\Schnittstelle.csproj", "{94F52E13-5A5C-444D-8F65-8C61867DF247}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {94F52E13-5A5C-444D-8F65-8C61867DF247}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {94F52E13-5A5C-444D-8F65-8C61867DF247}.Debug|Any CPU.Build.0 = Debug|Any CPU + {94F52E13-5A5C-444D-8F65-8C61867DF247}.Release|Any CPU.ActiveCfg = Release|Any CPU + {94F52E13-5A5C-444D-8F65-8C61867DF247}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {B7EC821B-92FA-4B00-AAD7-99C2394DE2B2} + EndGlobalSection +EndGlobal diff --git a/Schnittstelle/Import/XML/v2006/Model/AbwassertechnischeAnlage.cs b/Schnittstelle/Import/XML/v2006/Model/AbwassertechnischeAnlage.cs new file mode 100644 index 0000000..c732cc9 --- /dev/null +++ b/Schnittstelle/Import/XML/v2006/Model/AbwassertechnischeAnlage.cs @@ -0,0 +1,20 @@ +namespace XMLParser.Model +{ + public class AbwassertechnischeAnlage + { + string objektbezeichnung; + EObjektArt objektArt; + string entwaesserungsart; + Kante kante; + Knoten knoten; + Geometrie geometrie; + + + public string Objektbezeichnung { get => objektbezeichnung; set => objektbezeichnung = value; } + public EObjektArt ObjektArt { get => objektArt; set => objektArt = value; } + public string Entwaesserungsart { get => entwaesserungsart; set => entwaesserungsart = value; } + public Kante Kante { get => kante; set => kante = value; } + public Geometrie Geometrie { get => geometrie; set => geometrie = value; } + public Knoten Knoten { get => knoten; set => knoten = value; } + } +} diff --git a/Schnittstelle/Import/XML/v2006/Model/Anschlussdaten.cs b/Schnittstelle/Import/XML/v2006/Model/Anschlussdaten.cs new file mode 100644 index 0000000..385bf5a --- /dev/null +++ b/Schnittstelle/Import/XML/v2006/Model/Anschlussdaten.cs @@ -0,0 +1,19 @@ +namespace XMLParser.Model +{ + public class Anschlussdaten + { + string objektbezeichnung; + EKantenTyp kantentyp; + decimal entfernung; + string anschlussArt; + string fixierung; + string kommentar; + + public string Objektbezeichnung { get => objektbezeichnung; set => objektbezeichnung = value; } + public EKantenTyp Kantentyp { get => kantentyp; set => kantentyp = value; } + public decimal Entfernung { get => entfernung; set => entfernung = value; } + public string AnschlussArt { get => anschlussArt; set => anschlussArt = value; } + public string Fixierung { get => fixierung; set => fixierung = value; } + public string Kommentar { get => kommentar; set => kommentar = value; } + } +} diff --git a/Schnittstelle/Import/XML/v2006/Model/Anschlusspunkt.cs b/Schnittstelle/Import/XML/v2006/Model/Anschlusspunkt.cs new file mode 100644 index 0000000..20ebd20 --- /dev/null +++ b/Schnittstelle/Import/XML/v2006/Model/Anschlusspunkt.cs @@ -0,0 +1,9 @@ +namespace XMLParser.Model +{ + public class Anschlusspunkt + { + string punktkennung; + + public string Punktkennung { get => punktkennung; set => punktkennung = value; } + } +} diff --git a/Schnittstelle/Import/XML/v2006/Model/Enums.cs b/Schnittstelle/Import/XML/v2006/Model/Enums.cs new file mode 100644 index 0000000..95d19b0 --- /dev/null +++ b/Schnittstelle/Import/XML/v2006/Model/Enums.cs @@ -0,0 +1,94 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace XMLParser.Model +{ + public enum EAnlagetyp + { + Haltung = 1, + Anschlussleitung = 2, + Schacht = 3, + Bauwerk = 4 + } + public enum EInspektionverfahren + { + TVUntersuchung, + Begehung, + VomSchacht, + Other + } + public enum EWetter + { + KEINNIEDERSCHLAG = 1, + REGEN = 2, + SCHNEE = 3 + } + public enum ERohrleitungstyp + { + HALTUNG, + LEITUNG + } + public enum EObjektArt + { + KANTE = 1, + KNOTEN = 2 + } + public enum EKnotenTyp + { + SCHACHT = 0, + ANSCHLUSSPUNKT = 1, + BAUWERK = 2 + } + public enum EKantenTyp + { + HALTUNG, + LEITUNG, + RINNE, + GERINNE + } + + public enum ESchachtFunktion + { + SCHACHT = 1, + SONDERSCHACHT, + KONTROLLSCHACHT, + DROSSELSCHACHT, + LAMPENSCHACHT, + PROBENAHMESCHACHT, + HAUSREVISIONSCHACHT, + VERBINDUNGSSCHACHT, + SCHACHTMITNOTUEBERLAUF, + INSPEKTIONSOEFFNUNG, + REINIGUNGSOEFFNUNG, + PROBENAHMEOEFFNUNG + } + + public enum ECalculatedResult { + STRASSENABLAUFANZAHL, + SONSTIGEANZAHL, + STRASSENABLAUFUMSATZ, + SONSTIGEUMSATZ, + DN150DN250, + DN300DN400, + DN450DN600, + DN650DN800, + DN850DN1000, + GESAMTHAUPTKANAL, + HAUPTKANALUMSATZ, + SONSTIGELAENGEZULAGEMETER, + STRASSENABLAUFLAENGEZULAGEMETER, + LAENGEZULAGEUMSATZ, + GESAMTUMSATZ + } + public enum EWasserhaltung { + NONE=1, + OBERHALB, + TEILOBERHALB, + SEITENZULAUFE, + UNTERHALB, + OTHER + } +} diff --git a/Schnittstelle/Import/XML/v2006/Model/Geometrie.cs b/Schnittstelle/Import/XML/v2006/Model/Geometrie.cs new file mode 100644 index 0000000..df794ff --- /dev/null +++ b/Schnittstelle/Import/XML/v2006/Model/Geometrie.cs @@ -0,0 +1,24 @@ +namespace XMLParser.Model +{ + public class Geometrie + { + Geometriedaten geometriedaten; + PolyKanteAttribute rap1; + PolyKanteAttribute rap2; + + public Geometriedaten Geometriedaten + { + get + { + return geometriedaten; + } + set + { + geometriedaten = value; + } + } + + public PolyKanteAttribute Rap1 { get => rap1; set => rap1 = value; } + public PolyKanteAttribute Rap2 { get => rap2; set => rap2 = value; } + } +} diff --git a/Schnittstelle/Import/XML/v2006/Model/Geometriedaten.cs b/Schnittstelle/Import/XML/v2006/Model/Geometriedaten.cs new file mode 100644 index 0000000..65e240f --- /dev/null +++ b/Schnittstelle/Import/XML/v2006/Model/Geometriedaten.cs @@ -0,0 +1,21 @@ +using System.Collections.Generic; + +namespace XMLParser.Model +{ + public class Geometriedaten + { + List kanten; + + public List Kanten + { + get + { + return kanten; + } + set + { + kanten = value; + } + } + } +} diff --git a/Schnittstelle/Import/XML/v2006/Model/InspizierteAbwassertechnischeAnlage.cs b/Schnittstelle/Import/XML/v2006/Model/InspizierteAbwassertechnischeAnlage.cs new file mode 100644 index 0000000..fc3c534 --- /dev/null +++ b/Schnittstelle/Import/XML/v2006/Model/InspizierteAbwassertechnischeAnlage.cs @@ -0,0 +1,59 @@ +namespace XMLParser.Model +{ + public sealed class InspizierteAbwassertechnischeAnlage + { + string objektbezeichnung; + Lage lage; + EAnlagetyp anlagentyp; + OptischeInspektion optischeInspektion; + + public string Objektbezeichnung + { + get + { + return objektbezeichnung; + } + set + { + objektbezeichnung = value; + } + } + public EAnlagetyp Anlagentyp + { + get + { + return anlagentyp; + } + set + { + anlagentyp = value; + } + } + public OptischeInspektion OptischeInspektion + { + get + { + return optischeInspektion; + } + set + { + optischeInspektion = value; + } + } + public Lage Lage + { + get + { + return lage; + } + set + { + lage = value; + } + } + public override string ToString() + { + return objektbezeichnung + " " + optischeInspektion.Rohrleitung.Grunddaten.Profilbreite; + } + } +} diff --git a/Schnittstelle/Import/XML/v2006/Model/KanalObjekt.cs b/Schnittstelle/Import/XML/v2006/Model/KanalObjekt.cs new file mode 100644 index 0000000..e76b231 --- /dev/null +++ b/Schnittstelle/Import/XML/v2006/Model/KanalObjekt.cs @@ -0,0 +1,13 @@ +namespace XMLParser.Model +{ + public class KanalObjekt + { + public string XmlFileName {get;set;} + public AbwassertechnischeAnlage Stammdaten { get; set; } + public InspizierteAbwassertechnischeAnlage Inspektionsdaten { get; set; } + public override string ToString() + { + return string.Format("{0} ({1})",Stammdaten.Objektbezeichnung,Inspektionsdaten.OptischeInspektion.Rohrleitung.Grunddaten.Profilbreite); + } + } +} diff --git a/Schnittstelle/Import/XML/v2006/Model/Kante.cs b/Schnittstelle/Import/XML/v2006/Model/Kante.cs new file mode 100644 index 0000000..1083eca --- /dev/null +++ b/Schnittstelle/Import/XML/v2006/Model/Kante.cs @@ -0,0 +1,26 @@ +namespace XMLParser.Model +{ + public class Kante + { + decimal sohlhoeheZulauf; + decimal sohlhoeheAblauf; + Knoten knotenZulauf; + Knoten knotenAblauf; + int knotenAblaufTyp; + int knotenZulaufTyp; + bool isFiktiveLeitung = true; + Profil profil; + + public string knotenZulaufTemp; + public string knotenAblaufTemp; + + public decimal SohlhoeheZulauf { get => sohlhoeheZulauf; set => sohlhoeheZulauf = value; } + public decimal SohlhoeheAblauf { get => sohlhoeheAblauf; set => sohlhoeheAblauf = value; } + public Knoten KnotenZulauf { get => knotenZulauf; set => knotenZulauf = value; } + public Knoten KnotenAblauf { get => knotenAblauf; set => knotenAblauf = value; } + public int KnotenAblaufTyp { get => knotenAblaufTyp; set => knotenAblaufTyp = value; } + public int KnotenZulaufTyp { get => knotenZulaufTyp; set => knotenZulaufTyp = value; } + public bool IsFiktiveLeitung { get => isFiktiveLeitung; set => isFiktiveLeitung = value; } + public Profil Profil { get => profil; set => profil = value; } + } +} diff --git a/Schnittstelle/Import/XML/v2006/Model/Knoten.cs b/Schnittstelle/Import/XML/v2006/Model/Knoten.cs new file mode 100644 index 0000000..8c8f3e4 --- /dev/null +++ b/Schnittstelle/Import/XML/v2006/Model/Knoten.cs @@ -0,0 +1,13 @@ +namespace XMLParser.Model +{ + public class Knoten + { + EKnotenTyp knotenTyp; + Anschlusspunkt anschlusspunkt; + Schacht schacht; + + public EKnotenTyp KnotenTyp { get => knotenTyp; set => knotenTyp = value; } + public Schacht Schacht { get => schacht; set => schacht = value; } + public Anschlusspunkt Anschlusspunkt { get => anschlusspunkt; set => anschlusspunkt = value; } + } +} diff --git a/Schnittstelle/Import/XML/v2006/Model/Lage.cs b/Schnittstelle/Import/XML/v2006/Model/Lage.cs new file mode 100644 index 0000000..a955fd4 --- /dev/null +++ b/Schnittstelle/Import/XML/v2006/Model/Lage.cs @@ -0,0 +1,36 @@ +namespace XMLParser.Model +{ + public class Lage + { + string strassename; + string ortname; + + public string Strassename + { + get + { + return strassename; + } + set + { + strassename = value; + } + } + public string Ortname + { + get + { + return ortname; + } + set + { + ortname = value; + } + } + public Lage(string strassename, string ortname) + { + this.strassename = strassename; + this.ortname = ortname; + } + } +} diff --git a/Schnittstelle/Import/XML/v2006/Model/OptischeInspektion.cs b/Schnittstelle/Import/XML/v2006/Model/OptischeInspektion.cs new file mode 100644 index 0000000..cec7893 --- /dev/null +++ b/Schnittstelle/Import/XML/v2006/Model/OptischeInspektion.cs @@ -0,0 +1,64 @@ +using System; + +namespace XMLParser.Model +{ + public class OptischeInspektion + { + int auftragskennung; + DateTime inspektionstime; + Rohrleitung rohrleitung; + string nameUntersucher; + EWetter wetter; + bool reinigung; + EWasserhaltung wasserhaltung; + EInspektionverfahren inspektionsverfahren; + + public DateTime Inspektionstime + { + set + { + inspektionstime = value; + } + get + { + return inspektionstime; + } + } + public string Inspektionsdatum + { + get + { + return inspektionstime.ToShortDateString(); + } + /*set + { + throw new NotImplementedException(); + //inspektionsdatum = value; + }*/ + } + public string Inspektionszeit + { + get + { + return inspektionstime.ToShortTimeString(); + } + } + public Rohrleitung Rohrleitung + { + get + { + return rohrleitung; + } + set + { + rohrleitung = value; + } + } + public string NameUntersucher { get => nameUntersucher; set => nameUntersucher = value; } + public EWetter Wetter { get => wetter; set => wetter = value; } + public bool Reinigung { get => reinigung; set => reinigung = value; } + public EWasserhaltung Wasserhaltung { get => wasserhaltung; set => wasserhaltung = value; } + public EInspektionverfahren Inspektionsverfahren { get => inspektionsverfahren; set => inspektionsverfahren = value; } + public int Auftragskennung { get => auftragskennung; set => auftragskennung = value; } + } +} diff --git a/Schnittstelle/Import/XML/v2006/Model/PolyKante.cs b/Schnittstelle/Import/XML/v2006/Model/PolyKante.cs new file mode 100644 index 0000000..3989bf2 --- /dev/null +++ b/Schnittstelle/Import/XML/v2006/Model/PolyKante.cs @@ -0,0 +1,25 @@ +using System.Collections.Generic; +namespace XMLParser.Model +{ + public class PolyKante + { + PolyKanteAttribute start; + PolyKanteAttribute ende; + + public PolyKanteAttribute Start { get => start; set => start = value; } + public PolyKanteAttribute Ende { get => ende; set => ende = value; } + } + + public class PolyKanteAttribute + { + decimal rechtswert; + decimal hochwert; + decimal punkthoehe; + 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 PunktattributAbwasser { get => punktattributAbwasser; set => punktattributAbwasser = value; } + } +} diff --git a/Schnittstelle/Import/XML/v2006/Model/Profil.cs b/Schnittstelle/Import/XML/v2006/Model/Profil.cs new file mode 100644 index 0000000..e410c2a --- /dev/null +++ b/Schnittstelle/Import/XML/v2006/Model/Profil.cs @@ -0,0 +1,20 @@ +namespace XMLParser.Model +{ + public class Profil + { + int profilart; + int profilbreite; + int profilhoehe; + + public Profil(int profilart, int profilbreite, int profilhoehe) + { + Profilart = profilart; + Profilbreite = profilbreite; + Profilhoehe = profilhoehe; + } + + public int Profilart { get => profilart; set => profilart = value; } + public int Profilbreite { get => profilbreite; set => profilbreite = value; } + public int Profilhoehe { get => profilhoehe; set => profilhoehe = value; } + } +} diff --git a/Schnittstelle/Import/XML/v2006/Model/RGrunddaten.cs b/Schnittstelle/Import/XML/v2006/Model/RGrunddaten.cs new file mode 100644 index 0000000..78a88a0 --- /dev/null +++ b/Schnittstelle/Import/XML/v2006/Model/RGrunddaten.cs @@ -0,0 +1,46 @@ +namespace XMLParser.Model +{ + public class RGrunddaten + { + string knotenZulauf; + EKnotenTyp knotenZulaufTyp; + string knotenAblauf; + EKnotenTyp knotenAblaufTyp; + int profilhoehe; + int profilbreite; + int profilart; + string material; + string kanalart; + Anschlussdaten anschlussddaten = null; + int herkunftProfilmasse; + int herkunftMaterial; + decimal regeleinzelrohrlaenge; + int artAuskleidung; + string innenschutz; + + public string KnotenZulauf { get => knotenZulauf; set => knotenZulauf = value; } + public EKnotenTyp KnotenZulaufTyp { get => knotenZulaufTyp; set => knotenZulaufTyp = value; } + public string KnotenAblauf { get => knotenAblauf; set => knotenAblauf = value; } + public EKnotenTyp KnotenAblaufTyp { get => knotenAblaufTyp; set => knotenAblaufTyp = value; } + public int Profilhoehe { get => profilhoehe; set => profilhoehe = value; } + public int Profilbreite { get => profilbreite; set => profilbreite = value; } + public int Profilart { get => profilart; set => profilart = value; } + public string Material { get => material; set => material = value; } + public string Kanalart { get => kanalart; set => kanalart = value; } + public Anschlussdaten Anschlussddaten { get => anschlussddaten; set => anschlussddaten = value; } + public int HerkunftProfilmasse { get => herkunftProfilmasse; set => herkunftProfilmasse = value; } + public int HerkunftMaterial { get => herkunftMaterial; set => herkunftMaterial = value; } + public decimal Regeleinzelrohrlaenge { get => regeleinzelrohrlaenge; set => regeleinzelrohrlaenge = value; } + public int ArtAuskleidung { get => artAuskleidung; set => artAuskleidung = value; } + + public bool HasGrundleitung + { + get + { + return anschlussddaten != null; + } + } + + public string Innenschutz { get => innenschutz; set => innenschutz = value; } + } +} diff --git a/Schnittstelle/Import/XML/v2006/Model/RZustand.cs b/Schnittstelle/Import/XML/v2006/Model/RZustand.cs new file mode 100644 index 0000000..0b29998 --- /dev/null +++ b/Schnittstelle/Import/XML/v2006/Model/RZustand.cs @@ -0,0 +1,45 @@ +namespace XMLParser.Model +{ + public struct Quantifizierung + { + public decimal Numerisch; + public string Text; + + public override string ToString() + { + if (Text != null) + return Text; + if (Numerisch == 0) + return ""; + return Numerisch.ToString(); + } + } + public class RZustand + { + decimal station; + string inspektionskode; + string charakterisierung1; + string charakterisierung2; + bool verbindung; + Quantifizierung quantifizierung1; + Quantifizierung quantifizierung2; + string streckenschaden; + int streckenschadennr; + int positionVon; + int positionBis; + string kommentar; + + public decimal Station { get => station; set => station = value; } + public string Inspektionskode { get => inspektionskode; set => inspektionskode = value; } + public string Charakterisierung1 { get => charakterisierung1; set => charakterisierung1 = value; } + public string Charakterisierung2 { get => charakterisierung2; set => charakterisierung2 = value; } + public bool Verbindung { get => verbindung; set => verbindung = value; } + public Quantifizierung Quantifizierung1 { get => quantifizierung1; set => quantifizierung1 = value; } + public Quantifizierung Quantifizierung2 { get => quantifizierung2; set => quantifizierung2 = value; } + public string Streckenschaden { get => streckenschaden; set => streckenschaden = value; } + public int Streckenschadennr { get => streckenschadennr; set => streckenschadennr = value; } + public int PositionVon { get => positionVon; set => positionVon = value; } + public int PositionBis { get => positionBis; set => positionBis = value; } + public string Kommentar { get => kommentar; set => kommentar = value; } + } +} diff --git a/Schnittstelle/Import/XML/v2006/Model/Rohrleitung.cs b/Schnittstelle/Import/XML/v2006/Model/Rohrleitung.cs new file mode 100644 index 0000000..87218a5 --- /dev/null +++ b/Schnittstelle/Import/XML/v2006/Model/Rohrleitung.cs @@ -0,0 +1,76 @@ +using System.Collections.Generic; + +namespace XMLParser.Model +{ + public class Rohrleitung + { + ERohrleitungstyp rohrleitungstyp; + decimal inspektionslaenge; + string inspektionsrichtung; + RGrunddaten grunddaten = null; + List zustaende = null; + + public ERohrleitungstyp Rohrleitungstyp + { + get + { + return rohrleitungstyp; + } + set + { + rohrleitungstyp = value; + } + } + + public decimal Inspektionslaenge + { + get + { + return inspektionslaenge; + } + set + { + inspektionslaenge = value; + } + } + public string Inspektionsrichtung + { + get + { + switch(inspektionsrichtung) + { + case "U": return "Gegen Fliessrichtung"; + case "O": return "In Fliessrichtung"; + default: return "Fliessrichtungangabe nicht bekannt(" + inspektionsrichtung + ")"; + } + + } + set + { + inspektionsrichtung = value; + } + } + public List Zustaende + { + get + { + return zustaende; + } + set + { + zustaende = value; + } + } + public RGrunddaten Grunddaten + { + get + { + return grunddaten; + } + set + { + grunddaten = value; + } + } + } +} diff --git a/Schnittstelle/Import/XML/v2006/Model/Schacht.cs b/Schnittstelle/Import/XML/v2006/Model/Schacht.cs new file mode 100644 index 0000000..1a8f968 --- /dev/null +++ b/Schnittstelle/Import/XML/v2006/Model/Schacht.cs @@ -0,0 +1,11 @@ +namespace XMLParser.Model +{ + public class Schacht + { + ESchachtFunktion schachtFunktion; + decimal schachtTiefe; + + public ESchachtFunktion SchachtFunktion { get => schachtFunktion; set => schachtFunktion = value; } + public decimal SchachtTiefe { get => schachtTiefe; set => schachtTiefe = value; } + } +} diff --git a/Schnittstelle/Schnittstelle.csproj b/Schnittstelle/Schnittstelle.csproj new file mode 100644 index 0000000..d36d87d --- /dev/null +++ b/Schnittstelle/Schnittstelle.csproj @@ -0,0 +1,12 @@ + + + + netstandard2.1 + enable + + + + + + +