Compare commits
6 Commits
dffd649572
...
fd13ba2695
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
fd13ba2695 | ||
|
|
f8a01cdd8a | ||
|
|
bacd1bd770 | ||
|
|
368fb464c3 | ||
|
|
3c8cd670b4 | ||
|
|
4071b526f0 |
@@ -1,4 +1,6 @@
|
|||||||
namespace Schnittstelle.Contract
|
using Schnittstelle.Sanierung;
|
||||||
|
|
||||||
|
namespace Schnittstelle.Contract
|
||||||
{
|
{
|
||||||
interface ICodeBeschreibung
|
interface ICodeBeschreibung
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,18 +1,24 @@
|
|||||||
using Schnittstelle.Import.XML.v2013.Model;
|
using Schnittstelle.Import.XML.v2013.Model;
|
||||||
|
using Schnittstelle.Sanierung;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace Schnittstelle.DWA149_2_2013
|
namespace Schnittstelle.DWA149_2_2013
|
||||||
{
|
{
|
||||||
class BAA : CodeBeschreibung
|
class BAA : CodeBeschreibung, IReparatur, IRenovation
|
||||||
{
|
{
|
||||||
|
List<SanierungMassnahme> reparatur = new List<SanierungMassnahme>();
|
||||||
|
List<SanierungMassnahme> renovation = new List<SanierungMassnahme>();
|
||||||
|
|
||||||
public BAA(RZustand kuerzel) : base("Verformung",kuerzel)
|
public BAA(RZustand kuerzel) : base("Verformung",kuerzel)
|
||||||
{
|
{
|
||||||
CH1.Add("A", "vertikal");
|
CH1.Add("A", "vertikal");
|
||||||
CH1.Add("B", "horizontal");
|
CH1.Add("B", "horizontal");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<SanierungMassnahme> IReparatur.Massnahmen => reparatur;
|
||||||
|
|
||||||
|
List<SanierungMassnahme> IRenovation.Massnahmen => renovation;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,10 +1,14 @@
|
|||||||
using Schnittstelle.Import.XML.v2013.Model;
|
using Schnittstelle.Import.XML.v2013.Model;
|
||||||
|
using Schnittstelle.Sanierung;
|
||||||
using System;
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace Schnittstelle.DWA149_2_2013
|
namespace Schnittstelle.DWA149_2_2013
|
||||||
{
|
{
|
||||||
class BAB : CodeBeschreibung
|
class BAB : CodeBeschreibung, IReparatur
|
||||||
{
|
{
|
||||||
|
List<SanierungMassnahme> reparatur = new List<SanierungMassnahme>();
|
||||||
|
|
||||||
public BAB(RZustand kuerzel) : base("Rissbildung", kuerzel)
|
public BAB(RZustand kuerzel) : base("Rissbildung", kuerzel)
|
||||||
{
|
{
|
||||||
CH1.Add("A", "Oberflächenriss (Haarriss)");
|
CH1.Add("A", "Oberflächenriss (Haarriss)");
|
||||||
@@ -16,7 +20,13 @@ namespace Schnittstelle.DWA149_2_2013
|
|||||||
CH2.Add("C", "komplexe Rissbildung");
|
CH2.Add("C", "komplexe Rissbildung");
|
||||||
CH2.Add("D", "gewundene oder spiralförmige Rissbildung");
|
CH2.Add("D", "gewundene oder spiralförmige Rissbildung");
|
||||||
CH2.Add("E", "sternförmige Rissbildung");
|
CH2.Add("E", "sternförmige Rissbildung");
|
||||||
|
|
||||||
|
reparatur.Add(new SanierungMassnahme("anfräsen",100));
|
||||||
|
reparatur.Add(new SanierungMassnahme("kurzliner",200));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
List<SanierungMassnahme> IReparatur.Massnahmen => reparatur;
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,5 +1,6 @@
|
|||||||
using Schnittstelle.Contract;
|
using Schnittstelle.Contract;
|
||||||
using Schnittstelle.Import.XML.v2013.Model;
|
using Schnittstelle.Import.XML.v2013.Model;
|
||||||
|
using Schnittstelle.Sanierung;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace Schnittstelle.DWA149_2_2013
|
namespace Schnittstelle.DWA149_2_2013
|
||||||
@@ -33,6 +34,5 @@ namespace Schnittstelle.DWA149_2_2013
|
|||||||
return string.Format("{0} {1} {2}", beschreibung, ch1,ch2);
|
return string.Format("{0} {1} {2}", beschreibung, ch1,ch2);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -76,8 +76,8 @@ namespace Schnittstelle.Export
|
|||||||
|
|
||||||
row++;
|
row++;
|
||||||
worksheet.Range[row, 1].Text = haltung.Stammdaten.Objektbezeichnung;
|
worksheet.Range[row, 1].Text = haltung.Stammdaten.Objektbezeichnung;
|
||||||
worksheet.Range[row, 2].Text = "TODO";
|
worksheet.Range[row, 2].Text = haltung.Stammdaten.Kante.Laenge.ToString(); // Länge
|
||||||
worksheet.Range[row, 3].Text = "TODO";
|
worksheet.Range[row, 3].Text = "Not Implemented yet"; // Tiefe
|
||||||
|
|
||||||
worksheet.Range[row, 5].Text = haltung.Inspektionsdaten.Lage.Strassename;
|
worksheet.Range[row, 5].Text = haltung.Inspektionsdaten.Lage.Strassename;
|
||||||
worksheet.Range[row, 9].Text = haltung.Inspektionsdaten.OptischeInspektion[0].Rohrleitung.Grunddaten.Profilbreite.ToString();
|
worksheet.Range[row, 9].Text = haltung.Inspektionsdaten.OptischeInspektion[0].Rohrleitung.Grunddaten.Profilbreite.ToString();
|
||||||
@@ -104,12 +104,16 @@ namespace Schnittstelle.Export
|
|||||||
|
|
||||||
worksheet.Range[row, 1, row,10].CellStyle=headerStyle;
|
worksheet.Range[row, 1, row,10].CellStyle=headerStyle;
|
||||||
|
|
||||||
|
//08950738
|
||||||
|
|
||||||
row++;
|
row++;
|
||||||
int temprow = row;
|
int temprow = row;
|
||||||
int codestart_row = row;
|
int codestart_row = row;
|
||||||
//int rows = 7;
|
//int rows = 7;
|
||||||
decimal inspizierteLaenge = 0m;
|
decimal inspizierteLaenge = 0m;
|
||||||
for (int j = 0; j < haltung.Inspektionsdaten.OptischeInspektion.Count; j++)
|
//if(haltung.Stammdaten.Objektbezeichnung.Equals("08950738")) Debugger.Break();
|
||||||
|
int anzahlInspektionen = haltung.Inspektionsdaten.OptischeInspektion.Count-1;
|
||||||
|
for (int j = 0; j < anzahlInspektionen+1; j++)
|
||||||
{
|
{
|
||||||
OptischeInspektion opt = haltung.Inspektionsdaten.OptischeInspektion[j];
|
OptischeInspektion opt = haltung.Inspektionsdaten.OptischeInspektion[j];
|
||||||
inspizierteLaenge += opt.Rohrleitung.Zustaende.Max(x => x.Station);
|
inspizierteLaenge += opt.Rohrleitung.Zustaende.Max(x => x.Station);
|
||||||
@@ -149,6 +153,7 @@ namespace Schnittstelle.Export
|
|||||||
row++;
|
row++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
row += anzahlInspektionen;
|
||||||
worksheet.Range[temprow, 1, row-1, 10].CellStyle = cellStyle;
|
worksheet.Range[temprow, 1, row-1, 10].CellStyle = cellStyle;
|
||||||
worksheet.Range[row-1, 1, row-1, 10].CellStyle = kodierungEnde;
|
worksheet.Range[row-1, 1, row-1, 10].CellStyle = kodierungEnde;
|
||||||
temprow = row;
|
temprow = row;
|
||||||
@@ -197,6 +202,7 @@ namespace Schnittstelle.Export
|
|||||||
row += 5;
|
row += 5;
|
||||||
}
|
}
|
||||||
worksheet.UsedRange.AutofitColumns();
|
worksheet.UsedRange.AutofitColumns();
|
||||||
|
worksheet.Range[string.Format("J1:J{0}",row)].NumberFormat = "€#,##0.00";
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -5,8 +5,8 @@ namespace Schnittstelle.Import.XML.v2013.Model
|
|||||||
decimal sohlhoeheZulauf;
|
decimal sohlhoeheZulauf;
|
||||||
decimal sohlhoeheAblauf;
|
decimal sohlhoeheAblauf;
|
||||||
decimal laenge;
|
decimal laenge;
|
||||||
Knoten? knotenZulauf;
|
AbwassertechnischeAnlage? knotenZulauf;
|
||||||
Knoten? knotenAblauf;
|
AbwassertechnischeAnlage? knotenAblauf;
|
||||||
int knotenAblaufTyp;
|
int knotenAblaufTyp;
|
||||||
int knotenZulaufTyp;
|
int knotenZulaufTyp;
|
||||||
bool isFiktiveLeitung = true;
|
bool isFiktiveLeitung = true;
|
||||||
@@ -18,8 +18,8 @@ namespace Schnittstelle.Import.XML.v2013.Model
|
|||||||
|
|
||||||
public decimal SohlhoeheZulauf { get => sohlhoeheZulauf; set => sohlhoeheZulauf = value; }
|
public decimal SohlhoeheZulauf { get => sohlhoeheZulauf; set => sohlhoeheZulauf = value; }
|
||||||
public decimal SohlhoeheAblauf { get => sohlhoeheAblauf; set => sohlhoeheAblauf = value; }
|
public decimal SohlhoeheAblauf { get => sohlhoeheAblauf; set => sohlhoeheAblauf = value; }
|
||||||
public Knoten? KnotenZulauf { get => knotenZulauf; set => knotenZulauf = value; }
|
public AbwassertechnischeAnlage? KnotenZulauf { get => knotenZulauf; set => knotenZulauf = value; }
|
||||||
public Knoten? KnotenAblauf { get => knotenAblauf; set => knotenAblauf = value; }
|
public AbwassertechnischeAnlage? KnotenAblauf { get => knotenAblauf; set => knotenAblauf = value; }
|
||||||
public int KnotenAblaufTyp { get => knotenAblaufTyp; set => knotenAblaufTyp = value; }
|
public int KnotenAblaufTyp { get => knotenAblaufTyp; set => knotenAblaufTyp = value; }
|
||||||
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; }
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
using Schnittstelle.Sanierung;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace Schnittstelle.Import.XML.v2013.Model
|
namespace Schnittstelle.Import.XML.v2013.Model
|
||||||
{
|
{
|
||||||
public struct Quantifizierung
|
public struct Quantifizierung
|
||||||
@@ -30,6 +33,8 @@ namespace Schnittstelle.Import.XML.v2013.Model
|
|||||||
string kommentar;
|
string kommentar;
|
||||||
Klassifizierung? klassifizierung;
|
Klassifizierung? klassifizierung;
|
||||||
string kodeDescription;
|
string kodeDescription;
|
||||||
|
IReparatur? reparatur;
|
||||||
|
IRenovation? renovation;
|
||||||
|
|
||||||
public decimal Station { get => station; set => station = value; }
|
public decimal Station { get => station; set => station = value; }
|
||||||
public string Inspektionskode { get => inspektionskode; set => inspektionskode = value; }
|
public string Inspektionskode { get => inspektionskode; set => inspektionskode = value; }
|
||||||
@@ -45,5 +50,7 @@ namespace Schnittstelle.Import.XML.v2013.Model
|
|||||||
public string Kommentar { get => kommentar; set => kommentar = value; }
|
public string Kommentar { get => kommentar; set => kommentar = value; }
|
||||||
public Klassifizierung? Klassifizierung { get => klassifizierung; set => klassifizierung = value; }
|
public Klassifizierung? Klassifizierung { get => klassifizierung; set => klassifizierung = value; }
|
||||||
public string KodeDescription { get => kodeDescription; set => kodeDescription = value; }
|
public string KodeDescription { get => kodeDescription; set => kodeDescription = value; }
|
||||||
|
public IReparatur Reparatur { get => reparatur; set => reparatur = value; }
|
||||||
|
public IRenovation Renovation { get => renovation; set => renovation = value; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
using Schnittstelle.Contract;
|
using Schnittstelle.Contract;
|
||||||
using Schnittstelle.DWA149_2_2013;
|
using Schnittstelle.DWA149_2_2013;
|
||||||
using Schnittstelle.Import.XML.v2013.Model;
|
using Schnittstelle.Import.XML.v2013.Model;
|
||||||
|
using Schnittstelle.Sanierung;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
@@ -35,6 +36,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
|
||||||
@@ -43,15 +60,15 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
while (QueueToRebuild.Count > 0)
|
while (QueueToRebuild.Count > 0)
|
||||||
{
|
{
|
||||||
AbwassertechnischeAnlage anlage = QueueToRebuild.Dequeue();
|
AbwassertechnischeAnlage anlage = QueueToRebuild.Dequeue();
|
||||||
anlage.Kante.KnotenZulauf = knoten.First(x => x.Objektbezeichnung.Equals(anlage.Kante.knotenZulaufTemp)).Knoten;
|
anlage.Kante.KnotenZulauf = knoten.First(x => x.Objektbezeichnung.Equals(anlage.Kante.knotenZulaufTemp));
|
||||||
var d = knoten.FirstOrDefault(x => x.Objektbezeichnung.Equals(anlage.Kante.knotenAblaufTemp));
|
AbwassertechnischeAnlage? d = knoten.FirstOrDefault(x => x.Objektbezeichnung.Equals(anlage.Kante.knotenAblaufTemp));
|
||||||
if (d == null)
|
if (d == null)
|
||||||
{
|
{
|
||||||
notFoundKnoten.Add(anlage.Kante.knotenAblaufTemp);
|
notFoundKnoten.Add(anlage.Kante.knotenAblaufTemp);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
anlage.Kante.KnotenAblauf = d.Knoten;
|
anlage.Kante.KnotenAblauf = d;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -63,7 +80,7 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
inspektionsdaten = src.Item2;
|
inspektionsdaten = src.Item2;
|
||||||
foreach (InspizierteAbwassertechnischeAnlage iat in inspektionsdaten)
|
foreach (InspizierteAbwassertechnischeAnlage iat in inspektionsdaten)
|
||||||
{
|
{
|
||||||
AbwassertechnischeAnlage stammdatens = stammdaten.Find(x => x.Objektbezeichnung.Equals(iat.Objektbezeichnung));//;
|
AbwassertechnischeAnlage stammdatens = stammdaten.Find(x => x.Objektbezeichnung.Equals(iat.Objektbezeichnung) && x.ObjektArt.Equals(EObjektArt.KANTE));//;
|
||||||
string[] filepathsplited = this.XmlFile.Split(Path.DirectorySeparatorChar);
|
string[] filepathsplited = this.XmlFile.Split(Path.DirectorySeparatorChar);
|
||||||
|
|
||||||
KanalObjekte.Add(new KanalObjekt()
|
KanalObjekte.Add(new KanalObjekt()
|
||||||
@@ -195,7 +212,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 +270,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 +292,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":
|
||||||
@@ -314,7 +331,9 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
ICodeBeschreibung codedescription = factory.GetCodeBeschreibung(rZustand);
|
ICodeBeschreibung codedescription = factory.GetCodeBeschreibung(rZustand);
|
||||||
|
|
||||||
rZustand.KodeDescription = codedescription.GetBeschreibung;
|
rZustand.KodeDescription = codedescription.GetBeschreibung;
|
||||||
//Console.WriteLine(rZustand.KodeDescription);
|
if (codedescription is IRenovation) rZustand.Renovation = (IRenovation)codedescription;
|
||||||
|
if(codedescription is IReparatur) rZustand.Reparatur = (IReparatur)codedescription;
|
||||||
|
|
||||||
result.Add(rZustand);
|
result.Add(rZustand);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -405,7 +424,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;
|
||||||
@@ -429,6 +448,7 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
int second = Convert.ToInt32(parsedtime[2]);
|
int second = Convert.ToInt32(parsedtime[2]);
|
||||||
return new DateTime(year, month, day, hour, minute, second);
|
return new DateTime(year, month, day, hour, minute, second);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static Anschlussdaten ParseAnschlussdaten(XmlNode anschlussdaten)
|
private static Anschlussdaten ParseAnschlussdaten(XmlNode anschlussdaten)
|
||||||
{
|
{
|
||||||
Anschlussdaten result = new Anschlussdaten();
|
Anschlussdaten result = new Anschlussdaten();
|
||||||
@@ -438,7 +458,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);
|
||||||
|
|
||||||
@@ -491,7 +511,7 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Geometrie parseGeometrie(XmlNode aktuell)
|
private static Geometrie parseGeometrie(XmlNode aktuell)
|
||||||
{
|
{
|
||||||
Geometrie result = new Geometrie();
|
Geometrie result = new Geometrie();
|
||||||
foreach (XmlNode s in aktuell.ChildNodes)
|
foreach (XmlNode s in aktuell.ChildNodes)
|
||||||
@@ -511,7 +531,7 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private Geometriedaten parseGeometrieDaten(XmlNode aktuel)
|
private static Geometriedaten parseGeometrieDaten(XmlNode aktuel)
|
||||||
{
|
{
|
||||||
Geometriedaten result = new Geometriedaten();
|
Geometriedaten result = new Geometriedaten();
|
||||||
foreach (XmlNode s in aktuel.ChildNodes)
|
foreach (XmlNode s in aktuel.ChildNodes)
|
||||||
@@ -522,7 +542,7 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
result.Knoten = parseGeometrieKnoten(s);
|
result.Knoten = parseGeometrieKnoten(s);
|
||||||
break;
|
break;
|
||||||
case "Kanten":
|
case "Kanten":
|
||||||
parseGeometrieKanten(s);
|
result.Kanten = parseGeometrieKanten(s);
|
||||||
break;
|
break;
|
||||||
default: throw new NotImplementedException(s.Name);
|
default: throw new NotImplementedException(s.Name);
|
||||||
}
|
}
|
||||||
@@ -531,52 +551,58 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void parseGeometrieKanten(XmlNode aktuel)
|
private static List<PolyKante> parseGeometrieKanten(XmlNode aktuel)
|
||||||
{
|
{
|
||||||
|
List<PolyKante> result = new List<PolyKante>();
|
||||||
foreach (XmlNode s in aktuel.ChildNodes)
|
foreach (XmlNode s in aktuel.ChildNodes)
|
||||||
{
|
{
|
||||||
switch (s.Name)
|
switch (s.Name)
|
||||||
{
|
{
|
||||||
case "Kante":
|
case "Kante":
|
||||||
parseGeometrieKante(s);
|
result.Add(parseGeometrieKante(s));
|
||||||
break;
|
break;
|
||||||
default: throw new NotImplementedException(s.Name);
|
default: throw new NotImplementedException(s.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void parseGeometrieKante(XmlNode aktuel)
|
private static PolyKante parseGeometrieKante(XmlNode aktuel)
|
||||||
{
|
{
|
||||||
|
PolyKante result = new PolyKante();
|
||||||
foreach (XmlNode s in aktuel.ChildNodes)
|
foreach (XmlNode s in aktuel.ChildNodes)
|
||||||
{
|
{
|
||||||
switch (s.Name)
|
switch (s.Name)
|
||||||
{
|
{
|
||||||
case "Start":
|
case "Start":
|
||||||
parseGeometrieKanteStartEnde(s);
|
result.Start = parseGeometrieKanteStartEnde(s);
|
||||||
break;
|
break;
|
||||||
case "Ende":
|
case "Ende":
|
||||||
parseGeometrieKanteStartEnde(s);
|
result.Ende = parseGeometrieKanteStartEnde(s);
|
||||||
break;
|
break;
|
||||||
default: throw new NotImplementedException(s.Name);
|
default: throw new NotImplementedException(s.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
private void parseGeometrieKanteStartEnde(XmlNode aktuel)
|
private static PolyKanteAttribute parseGeometrieKanteStartEnde(XmlNode aktuel)
|
||||||
{
|
{
|
||||||
|
PolyKanteAttribute result = new PolyKanteAttribute();
|
||||||
foreach (XmlNode s in aktuel.ChildNodes)
|
foreach (XmlNode s in aktuel.ChildNodes)
|
||||||
{
|
{
|
||||||
switch (s.Name)
|
switch (s.Name)
|
||||||
{
|
{
|
||||||
case "Rechtswert": break;
|
case "Rechtswert": result.Rechtswert = ConvertXMLToDecimal(s.InnerText); break;
|
||||||
case "Hochwert": break;
|
case "Hochwert": result.Hochwert = ConvertXMLToDecimal(s.InnerText); break;
|
||||||
case "Punkthoehe": break;
|
case "Punkthoehe": result.Punkthoehe = ConvertXMLToDecimal(s.InnerText); break;
|
||||||
case "PunktattributAbwasser": break;
|
case "PunktattributAbwasser": result.PunktattributAbwasser = s.InnerText; break;
|
||||||
default: throw new NotImplementedException(s.Name);
|
default: throw new NotImplementedException(s.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Geometriedatenknoten parseGeometrieKnoten(XmlNode aktuel)
|
private static Geometriedatenknoten parseGeometrieKnoten(XmlNode aktuel)
|
||||||
{
|
{
|
||||||
Geometriedatenknoten result = new Geometriedatenknoten();
|
Geometriedatenknoten result = new Geometriedatenknoten();
|
||||||
foreach (XmlNode s in aktuel.ChildNodes)
|
foreach (XmlNode s in aktuel.ChildNodes)
|
||||||
@@ -593,7 +619,7 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Punkt parseGeometrieKnotenPunkt(XmlNode aktuel)
|
private static Punkt parseGeometrieKnotenPunkt(XmlNode aktuel)
|
||||||
{
|
{
|
||||||
Punkt punkt = new Punkt();
|
Punkt punkt = new Punkt();
|
||||||
foreach (XmlNode s in aktuel.ChildNodes)
|
foreach (XmlNode s in aktuel.ChildNodes)
|
||||||
@@ -601,13 +627,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;
|
||||||
@@ -618,7 +644,7 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
return punkt;
|
return punkt;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Kante parseKante(XmlNode aktuell)
|
private static Kante parseKante(XmlNode aktuell)
|
||||||
{
|
{
|
||||||
Kante result = new Kante();
|
Kante result = new Kante();
|
||||||
|
|
||||||
@@ -644,13 +670,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);
|
result.Laenge = ConvertXMLToDecimal(s.InnerText);
|
||||||
break;
|
break;
|
||||||
case "Material":
|
case "Material":
|
||||||
result.Material = s.InnerText;
|
result.Material = s.InnerText;
|
||||||
@@ -663,7 +689,7 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
private Profil getProfil(XmlNode s)
|
private static Profil getProfil(XmlNode s)
|
||||||
{
|
{
|
||||||
int Profilart = 0, Profilbreite = 0, Profilhoehe = 0;
|
int Profilart = 0, Profilbreite = 0, Profilhoehe = 0;
|
||||||
foreach (XmlNode d in s.ChildNodes)
|
foreach (XmlNode d in s.ChildNodes)
|
||||||
|
|||||||
33
Schnittstelle/Sanierung/ISanierung.cs
Normal file
33
Schnittstelle/Sanierung/ISanierung.cs
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
using Schnittstelle.DWA149_2_2013;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace Schnittstelle.Sanierung
|
||||||
|
{
|
||||||
|
public interface IReparatur
|
||||||
|
{
|
||||||
|
List<SanierungMassnahme> Massnahmen { get; }
|
||||||
|
}
|
||||||
|
|
||||||
|
public interface IRenovation
|
||||||
|
{
|
||||||
|
List<SanierungMassnahme> Massnahmen { get; }
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
public class SanierungMassnahme
|
||||||
|
{
|
||||||
|
string beschreibung = string.Empty;
|
||||||
|
decimal kosten = decimal.MinValue;
|
||||||
|
|
||||||
|
public string Beschreibung { get => beschreibung; }
|
||||||
|
public decimal Kosten { get => kosten; }
|
||||||
|
|
||||||
|
public SanierungMassnahme(string beschreibung, decimal kosten)
|
||||||
|
{
|
||||||
|
this.beschreibung=beschreibung;
|
||||||
|
this.kosten = kosten;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user