Compare commits
5 Commits
fd13ba2695
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
d5d853abc5 | ||
|
|
2f078c19ab | ||
|
|
8d8baf0766 | ||
|
|
133bc5f6b0 | ||
|
|
c86a2ff6d8 |
12
Schnittstelle/DWA149-2_2013/AEC.cs
Normal file
12
Schnittstelle/DWA149-2_2013/AEC.cs
Normal file
@@ -0,0 +1,12 @@
|
|||||||
|
using Schnittstelle.Contract;
|
||||||
|
using Schnittstelle.Import.XML.v2013.Model;
|
||||||
|
|
||||||
|
namespace Schnittstelle.DWA149_2_2013
|
||||||
|
{
|
||||||
|
internal class AEC : CodeBeschreibung
|
||||||
|
{
|
||||||
|
public AEC(RZustand kuerzel) : base("Grundlagen änderung", kuerzel)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -6,19 +6,12 @@ using System.Text;
|
|||||||
|
|
||||||
namespace Schnittstelle.DWA149_2_2013
|
namespace Schnittstelle.DWA149_2_2013
|
||||||
{
|
{
|
||||||
class BAA : CodeBeschreibung, IReparatur, IRenovation
|
class BAA : CodeBeschreibung
|
||||||
{
|
{
|
||||||
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;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -5,10 +5,8 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace Schnittstelle.DWA149_2_2013
|
namespace Schnittstelle.DWA149_2_2013
|
||||||
{
|
{
|
||||||
class BAB : CodeBeschreibung, IReparatur
|
class BAB : CodeBeschreibung
|
||||||
{
|
{
|
||||||
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)");
|
||||||
@@ -20,13 +18,6 @@ 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,4 +1,6 @@
|
|||||||
using Schnittstelle.Import.XML.v2013.Model;
|
using Schnittstelle.Import.XML.v2013.Model;
|
||||||
|
using Schnittstelle.Sanierung;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace Schnittstelle.DWA149_2_2013
|
namespace Schnittstelle.DWA149_2_2013
|
||||||
{
|
{
|
||||||
@@ -17,6 +19,7 @@ namespace Schnittstelle.DWA149_2_2013
|
|||||||
|
|
||||||
CH2.Add("A", "offen");
|
CH2.Add("A", "offen");
|
||||||
CH2.Add("B", "geschlossen");
|
CH2.Add("B", "geschlossen");
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1,11 +1,18 @@
|
|||||||
using Schnittstelle.Import.XML.v2013.Model;
|
using Schnittstelle.Import.XML.v2013.Model;
|
||||||
|
using Schnittstelle.Sanierung;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace Schnittstelle.DWA149_2_2013
|
namespace Schnittstelle.DWA149_2_2013
|
||||||
{
|
{
|
||||||
class BCE : CodeBeschreibung
|
class BCE : CodeBeschreibung
|
||||||
{
|
{
|
||||||
|
List<SanierungMassnahme> renovation = new List<SanierungMassnahme>();
|
||||||
|
|
||||||
public BCE(RZustand kuerzel) : base("Endknoten", kuerzel)
|
public BCE(RZustand kuerzel) : base("Endknoten", kuerzel)
|
||||||
{
|
{
|
||||||
}
|
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<SanierungMassnahme> Massnahmen => renovation;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2,6 +2,7 @@
|
|||||||
using Schnittstelle.Import.XML.v2013.Model;
|
using Schnittstelle.Import.XML.v2013.Model;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Security.Cryptography;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace Schnittstelle.DWA149_2_2013
|
namespace Schnittstelle.DWA149_2_2013
|
||||||
@@ -13,6 +14,7 @@ namespace Schnittstelle.DWA149_2_2013
|
|||||||
switch(zustand.Inspektionskode.ToUpper())
|
switch(zustand.Inspektionskode.ToUpper())
|
||||||
{
|
{
|
||||||
case "AED": return new AED(zustand);
|
case "AED": return new AED(zustand);
|
||||||
|
case "AEC": return new AEC(zustand);
|
||||||
|
|
||||||
case "BAA": return new BAA(zustand);
|
case "BAA": return new BAA(zustand);
|
||||||
case "BAB": return new BAB(zustand);
|
case "BAB": return new BAB(zustand);
|
||||||
@@ -55,7 +57,7 @@ namespace Schnittstelle.DWA149_2_2013
|
|||||||
case "BDG": return new BDG(zustand);
|
case "BDG": return new BDG(zustand);
|
||||||
|
|
||||||
default:
|
default:
|
||||||
throw new ApplicationException("Code not implemented");
|
throw new NotImplementedException(string.Format("Code not implemented: {0}",zustand.Inspektionskode.ToUpper()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,11 +1,13 @@
|
|||||||
using Schnittstelle.Import.XML.v2013.Model;
|
using Schnittstelle.Import.XML.v2013.Model;
|
||||||
using Schnittstelle.Sanierung;
|
using Schnittstelle.Sanierung;
|
||||||
|
using Syncfusion.Drawing;
|
||||||
using Syncfusion.XlsIO;
|
using Syncfusion.XlsIO;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
using System.Security.Cryptography;
|
||||||
using System.Text;
|
using System.Text;
|
||||||
|
|
||||||
namespace Schnittstelle.Export
|
namespace Schnittstelle.Export
|
||||||
@@ -43,19 +45,28 @@ namespace Schnittstelle.Export
|
|||||||
KodierungEnde.Borders[ExcelBordersIndex.EdgeTop].LineStyle = ExcelLineStyle.Thin;
|
KodierungEnde.Borders[ExcelBordersIndex.EdgeTop].LineStyle = ExcelLineStyle.Thin;
|
||||||
KodierungEnde.Borders[ExcelBordersIndex.EdgeBottom].LineStyle = ExcelLineStyle.Thick;
|
KodierungEnde.Borders[ExcelBordersIndex.EdgeBottom].LineStyle = ExcelLineStyle.Thick;
|
||||||
|
|
||||||
|
IStyle AnmerkungStyle = workbook.Styles.Add("AnmerkungStyle");
|
||||||
|
AnmerkungStyle.ColorIndex = ExcelKnownColors.Custom56;
|
||||||
|
|
||||||
|
AnmerkungStyle.Borders.LineStyle = ExcelLineStyle.Medium;
|
||||||
|
AnmerkungStyle.Borders[ExcelBordersIndex.DiagonalUp].ShowDiagonalLine = false;
|
||||||
|
AnmerkungStyle.Borders[ExcelBordersIndex.DiagonalDown].ShowDiagonalLine = false;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
for (int i = 0; i < KanalObjekte.Count; i++)
|
for (int i = 0; i < KanalObjekte.Count; i++)
|
||||||
{
|
{
|
||||||
IWorksheet worksheet = workbook.Worksheets[i];
|
IWorksheet worksheet = workbook.Worksheets[i];
|
||||||
KanalObjekt k = KanalObjekte[i];
|
KanalObjekt k = KanalObjekte[i];
|
||||||
CalculateHaltung(k, worksheet, sanierungsarten, CellStyle, HeaderStyle, KodierungEnde);
|
CalculateHaltung(k, worksheet, sanierungsarten, CellStyle, HeaderStyle, KodierungEnde,AnmerkungStyle);
|
||||||
}
|
}
|
||||||
FileStream stream = new FileStream("beurteilung.xlsx", FileMode.Create, FileAccess.ReadWrite);
|
FileStream stream = new FileStream("beurteilung.xlsx", FileMode.Create, FileAccess.ReadWrite);
|
||||||
workbook.SaveAs(stream);
|
workbook.SaveAs(stream);
|
||||||
stream.Dispose();
|
stream.Dispose();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void CalculateHaltung(KanalObjekt haltung, IWorksheet worksheet, List<Sanierungart> sanierungsarten, IStyle cellStyle, IStyle headerStyle, IStyle kodierungEnde)
|
private static void CalculateHaltung(KanalObjekt haltung, IWorksheet worksheet, List<Sanierungart> sanierungsarten, IStyle cellStyle, IStyle headerStyle, IStyle kodierungEnde, IStyle AnmerkungStyle)
|
||||||
{
|
{
|
||||||
|
|
||||||
worksheet.Name = string.Format("{0}", haltung.Stammdaten.Objektbezeichnung);
|
worksheet.Name = string.Format("{0}", haltung.Stammdaten.Objektbezeichnung);
|
||||||
@@ -66,20 +77,30 @@ namespace Schnittstelle.Export
|
|||||||
{
|
{
|
||||||
Sanierungart sanArt = sanierungsarten[i];
|
Sanierungart sanArt = sanierungsarten[i];
|
||||||
int mainrow = row;
|
int mainrow = row;
|
||||||
worksheet.Range[row, 1].Text = "Haltung";
|
worksheet.Range[row, 1].Text = "Von - Nach";
|
||||||
worksheet.Range[row, 2].Text = "Länge";
|
worksheet.Range[row, 2].Text = "Straße"; // 5
|
||||||
worksheet.Range[row, 3].Text = "Tiefe";
|
worksheet.Range[row, 3].Text = "Inspizierte Länge"; // 4
|
||||||
worksheet.Range[row, 4].Text = "Inspizierte Länge";
|
worksheet.Range[row, 4].Text = "Länge"; // 2
|
||||||
worksheet.Range[row, 5].Text = "Straße";
|
worksheet.Range[row, 5].Text = "Tiefe"; // 3
|
||||||
worksheet.Range[row, 9].Text = "DN";
|
worksheet.Range[row, 6].Text = "Inspektionsrichtung";
|
||||||
|
|
||||||
|
|
||||||
|
worksheet.Range[row, 7].Text = "Schadensbeschreibung"; //sanArt.Sanierungsbezeichnung;
|
||||||
|
worksheet.Range[row, 9].Text = "Durchmesser";
|
||||||
worksheet.Range[row, 10].Text = "Material";
|
worksheet.Range[row, 10].Text = "Material";
|
||||||
|
|
||||||
row++;
|
row++;
|
||||||
worksheet.Range[row, 1].Text = haltung.Stammdaten.Objektbezeichnung;
|
string richtung = haltung.Inspektionsdaten.OptischeInspektion[0].Rohrleitung.Inspektionsrichtung_RAW;
|
||||||
worksheet.Range[row, 2].Text = haltung.Stammdaten.Kante.Laenge.ToString(); // Länge
|
string s1 = richtung == "O" ? haltung.Stammdaten.Kante.KnotenZulauf!.Objektbezeichnung : haltung.Stammdaten.Kante.KnotenAblauf!.Objektbezeichnung;
|
||||||
worksheet.Range[row, 3].Text = "Not Implemented yet"; // Tiefe
|
string s2 = richtung == "O" ? haltung.Stammdaten.Kante.KnotenAblauf!.Objektbezeichnung : haltung.Stammdaten.Kante.KnotenZulauf!.Objektbezeichnung;
|
||||||
|
worksheet.Range[row, 1].Text = string.Format("{0} -> {1}", s1, s2);
|
||||||
|
worksheet.Range[row, 2].Text = haltung.Inspektionsdaten.Lage.Strassename;
|
||||||
|
|
||||||
|
worksheet.Range[row, 4].Text = haltung.Stammdaten.Kante.Laenge.ToString(); // Länge
|
||||||
|
worksheet.Range[row, 5].Text = "Not Implemented yet"; // Tiefe
|
||||||
|
worksheet.Range[row, 6].Text = haltung.Inspektionsdaten.OptischeInspektion[0].Rohrleitung.Inspektionsrichtung;
|
||||||
|
|
||||||
|
|
||||||
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();
|
||||||
worksheet.Range[row, 10].Text = haltung.Inspektionsdaten.OptischeInspektion[0].Rohrleitung.Grunddaten.Material.ToString();
|
worksheet.Range[row, 10].Text = haltung.Inspektionsdaten.OptischeInspektion[0].Rohrleitung.Grunddaten.Material.ToString();
|
||||||
|
|
||||||
@@ -88,19 +109,19 @@ namespace Schnittstelle.Export
|
|||||||
|
|
||||||
|
|
||||||
row += 2;
|
row += 2;
|
||||||
worksheet.Range[row, 2].Text = sanArt.Sanierungsbezeichnung;
|
//worksheet.Range[row, 2].Text = sanArt.Sanierungsbezeichnung;
|
||||||
row+= 2;
|
//row+= 2;
|
||||||
//int temprow = row;
|
//int temprow = row;
|
||||||
worksheet.Range[row, 1].Text = "Stat";
|
worksheet.Range[row, 1].Text = "Station";
|
||||||
worksheet.Range[row, 2].Text = "Kürzel";
|
worksheet.Range[row, 2].Text = "Kürzel";
|
||||||
worksheet.Range[row, 3].Text = "Charakterisierung";
|
worksheet.Range[row, 3].Text = "Charakterisi.";
|
||||||
worksheet.Range[row, 4].Text = "Quantifizierung";
|
worksheet.Range[row, 4].Text = "Quantifizierung";
|
||||||
worksheet.Range[row, 5].Text = "Lage";
|
worksheet.Range[row, 5].Text = "Lage im Kreis";
|
||||||
worksheet.Range[row, 6].Text = "Verb.";
|
//worksheet.Range[row, 6].Text = "Verb.";
|
||||||
worksheet.Range[row, 7].Text = "Schaden";
|
worksheet.Range[row, 7].Text = "Schadensbeschreibung / Info";
|
||||||
worksheet.Range[row, 8].Text = "Strecke";
|
worksheet.Range[row, 8].Text = "Strecke";
|
||||||
worksheet.Range[row, 9].Text = "Sanierung";
|
worksheet.Range[row, 9].Text = "Sanierungsvorschlag";
|
||||||
worksheet.Range[row, 10].Text = "Kosten";
|
worksheet.Range[row, 10].Text = "Kostenans.";
|
||||||
|
|
||||||
worksheet.Range[row, 1, row,10].CellStyle=headerStyle;
|
worksheet.Range[row, 1, row,10].CellStyle=headerStyle;
|
||||||
|
|
||||||
@@ -143,13 +164,73 @@ namespace Schnittstelle.Export
|
|||||||
worksheet.Range[row + j, 7].Text = code.KodeDescription;
|
worksheet.Range[row + j, 7].Text = code.KodeDescription;
|
||||||
worksheet.Range[row + j, 8].Text = code.Streckenschaden;
|
worksheet.Range[row + j, 8].Text = code.Streckenschaden;
|
||||||
|
|
||||||
Tuple<string, double> d;
|
|
||||||
|
|
||||||
if (sanArt.Sanierungen.TryGetValue(code.Inspektionskode, out d))
|
List<SanierungMassnahme> Massnahmen;
|
||||||
|
|
||||||
|
Console.WriteLine(code.Inspektionskode);
|
||||||
|
|
||||||
|
|
||||||
|
if (sanArt.Massnahmen.TryGetValue(code.Inspektionskode, out Massnahmen))
|
||||||
{
|
{
|
||||||
worksheet.Range[row + j, 9].Text = d.Item1;
|
List<SanierungMassnahme> imasses = Massnahmen.FindAll(x =>
|
||||||
worksheet.Range[row + j, 10].Number = d.Item2;
|
haltung.Inspektionsdaten.OptischeInspektion[0].Rohrleitung.Grunddaten.Profilbreite >=
|
||||||
|
x.DN);
|
||||||
|
|
||||||
|
uint counter = 0;
|
||||||
|
decimal Kosten = 0;
|
||||||
|
bool Schlauchliner = false;
|
||||||
|
foreach (SanierungMassnahme imas in imasses)
|
||||||
|
{
|
||||||
|
if(CheckKuerzel(imas.Begrenzung, code))
|
||||||
|
{
|
||||||
|
Kosten += imas.Kosten;
|
||||||
|
if(counter == 0)
|
||||||
|
worksheet.Range[row + j, 9].Text += imas.Beschreibung;
|
||||||
|
else
|
||||||
|
worksheet.Range[row + j, 9].Text += "," + imas.Beschreibung;
|
||||||
|
|
||||||
|
if (imas.Beschreibung.Equals("Schlauchliner"))
|
||||||
|
{
|
||||||
|
Schlauchliner = true;
|
||||||
|
decimal zuschlag = 1;
|
||||||
|
decimal tmpLaenge = haltung.Stammdaten.Kante.Laenge;
|
||||||
|
if (tmpLaenge < 30)
|
||||||
|
zuschlag = 1.3m;
|
||||||
|
if (tmpLaenge < 15)
|
||||||
|
zuschlag = 1.5m;
|
||||||
|
worksheet.Range[row + j, 10].Number = Convert.ToDouble((imas.Kosten * zuschlag) * tmpLaenge);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
counter++;
|
||||||
|
}
|
||||||
|
if(!Schlauchliner)
|
||||||
|
{
|
||||||
|
worksheet.Range[row + j, 10].Number = Convert.ToDouble(Kosten);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (imasses != null)
|
||||||
|
{
|
||||||
|
/*
|
||||||
|
worksheet.Range[row + j, 9].Text = imass.Beschreibung;
|
||||||
|
|
||||||
|
if (imass.Beschreibung.Equals("Schlauchliner"))
|
||||||
|
{
|
||||||
|
double zuschlag = 1;
|
||||||
|
double tmpLaenge = Convert.ToDouble(haltung.Stammdaten.Kante.Laenge);
|
||||||
|
if (tmpLaenge < 30)
|
||||||
|
zuschlag = 1.3;
|
||||||
|
if (tmpLaenge < 15)
|
||||||
|
zuschlag = 1.5;
|
||||||
|
worksheet.Range[row + j, 10].Number = (imass.Kosten * zuschlag) * tmpLaenge;
|
||||||
|
|
||||||
|
}
|
||||||
|
else
|
||||||
|
worksheet.Range[row + j, 10].Number = imass.Kosten;
|
||||||
|
*/
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
row++;
|
row++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -157,52 +238,130 @@ namespace Schnittstelle.Export
|
|||||||
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;
|
||||||
worksheet.Range[row, 7].Text = "Zwischensumme";
|
worksheet.Range[row, 7].Text = "netto-Zwischensumme";
|
||||||
worksheet.Range[row, 10].Formula = string.Format("=SUM(J{0}:J{1})", codestart_row, row-1);
|
worksheet.Range[row, 10].Formula = string.Format("=SUM(J{0}:J{1})", codestart_row, row-1);
|
||||||
row++;
|
row++;
|
||||||
worksheet.Range[row, 7].Text = "Baustelleneinrichtung"; //10%
|
|
||||||
|
//Linke seite
|
||||||
|
worksheet.Range[row, 1].Text =sanArt.Sanierungsbezeichnung.ToString();
|
||||||
|
// Auflistung
|
||||||
|
worksheet.Range[row, 7].Text = "Baustelleneinrichtung anteilig Haltung"; //10%
|
||||||
worksheet.Range[row, 8].Number = 10;
|
worksheet.Range[row, 8].Number = 10;
|
||||||
worksheet.Range[row, 10].Formula = string.Format("=(H{0}/100)*J{1}", row, temprow);
|
worksheet.Range[row, 10].Formula = string.Format("=(H{0}/100)*J{1}", row, temprow);
|
||||||
row++;
|
row++;
|
||||||
worksheet.Range[row, 7].Text = "Verkehrssicherung"; // 5%
|
worksheet.Range[row, 7].Text = "Verkehrssicherung anteilig Haltung"; // 5%
|
||||||
worksheet.Range[row, 8].Number = 5;
|
worksheet.Range[row, 8].Number = 5;
|
||||||
worksheet.Range[row, 10].Formula = string.Format("=(H{0}/100)*J{1}", row, temprow);
|
worksheet.Range[row, 10].Formula = string.Format("=(H{0}/100)*J{1}", row, temprow);
|
||||||
row++;
|
row++;
|
||||||
worksheet.Range[row, 7].Text = "Aufrechterhaltung der Vorflut"; // 12%
|
// Linke seite
|
||||||
|
worksheet.Range[row, 1].CellStyle = headerStyle;
|
||||||
|
worksheet.Range[row, 1].Text = "Sanierungspriorität";
|
||||||
|
worksheet.Range[row, 3].CellStyle = headerStyle;
|
||||||
|
worksheet.Range[row, 3].Text = "Info";
|
||||||
|
// Auflistung
|
||||||
|
worksheet.Range[row, 7].Text = "Aufrechterhaltung der Vorflut Haltung"; // 12%
|
||||||
worksheet.Range[row, 8].Number = 12;
|
worksheet.Range[row, 8].Number = 12;
|
||||||
worksheet.Range[row, 10].Formula = string.Format("=(H{0}/100)*J{1}", row, temprow);
|
worksheet.Range[row, 10].Formula = string.Format("=(H{0}/100)*J{1}", row, temprow);
|
||||||
row++;
|
row++;
|
||||||
worksheet.Range[row, 7].Text = "Kanalreinigung"; // 2€ /m
|
// Linke seite
|
||||||
|
worksheet.Range[row, 1].Text = "kurzfristing";
|
||||||
|
worksheet.Range[row, 2].Text = "ja oder nein";
|
||||||
|
worksheet.Range[row, 3].Text = "6-12 Monate";
|
||||||
|
worksheet.Range[row, 1, row, 3].CellStyle = cellStyle;
|
||||||
|
// Auflistung
|
||||||
|
worksheet.Range[row, 7].Text = "Kanalreinigung vor Sanierung"; // 2€ /m
|
||||||
worksheet.Range[row, 8].Number = Convert.ToDouble(inspizierteLaenge);
|
worksheet.Range[row, 8].Number = Convert.ToDouble(inspizierteLaenge);
|
||||||
worksheet.Range[row, 9].Number = 2;
|
worksheet.Range[row, 9].Number = 2;
|
||||||
worksheet.Range[row, 10].Formula = string.Format("=H{0}*I{0}", row);
|
worksheet.Range[row, 10].Formula = string.Format("=H{0}*I{0}", row);
|
||||||
row++;
|
row++;
|
||||||
worksheet.Range[row, 7].Text = "Kamerainspektion"; // 3€ /m
|
// Linke seite
|
||||||
|
worksheet.Range[row, 1].Text = "mittelfristig";
|
||||||
|
worksheet.Range[row, 2].Text = "ja oder nein";
|
||||||
|
worksheet.Range[row, 3].Text = "1 bis 5 Jahre";
|
||||||
|
worksheet.Range[row, 1, row, 3].CellStyle = cellStyle;
|
||||||
|
// Auflistung
|
||||||
|
worksheet.Range[row, 7].Text = "Kamerainspektion Abnahme"; // 3€ /m
|
||||||
worksheet.Range[row, 8].Number = Convert.ToDouble(inspizierteLaenge);
|
worksheet.Range[row, 8].Number = Convert.ToDouble(inspizierteLaenge);
|
||||||
worksheet.Range[row, 9].Number = 3;
|
worksheet.Range[row, 9].Number = 3;
|
||||||
worksheet.Range[row, 10].Formula = string.Format("=H{0}*I{0}", row);
|
worksheet.Range[row, 10].Formula = string.Format("=H{0}*I{0}", row);
|
||||||
row++;
|
row++;
|
||||||
worksheet.Range[row, 7].Text = "Reinigung verstopfter Abzweiger"; //250€
|
// Linke seite
|
||||||
worksheet.Range[row, 9].Number = 250;
|
worksheet.Range[row, 1].Text = "langfristig";
|
||||||
worksheet.Range[row, 10].Formula = string.Format("=H{0}*I{0}", row);
|
worksheet.Range[row, 2].Text = "ja oder nein";
|
||||||
row++;
|
worksheet.Range[row, 3].Text = "5 bis 10 Jahre";
|
||||||
worksheet.Range[row, 7].Text = "Summe netto";
|
worksheet.Range[row, 1, row, 3].CellStyle = cellStyle;
|
||||||
|
// Auflistung
|
||||||
|
worksheet.Range[row, 7].Text = "Summe netto Haltung";
|
||||||
worksheet.Range[row, 10].Formula = string.Format("=SUM(J{0}:J{1})",temprow,row-1);
|
worksheet.Range[row, 10].Formula = string.Format("=SUM(J{0}:J{1})",temprow,row-1);
|
||||||
row++;
|
row++;
|
||||||
worksheet.Range[row, 7].Text = "Mehrwertsteuer"; // 19%
|
worksheet.Range[row, 7].Text = "Mehrwertsteuer"; // 19%
|
||||||
worksheet.Range[row, 8].Number = 19;
|
worksheet.Range[row, 8].Number = 19;
|
||||||
worksheet.Range[row, 10].Formula = string.Format("=(H{0}/100)*J{1}",row,row-1);
|
worksheet.Range[row, 10].Formula = string.Format("=(H{0}/100)*J{1}",row,row-1);
|
||||||
row++;
|
row++;
|
||||||
worksheet.Range[row, 7].Text = "Summe brutto";
|
// Linke seite
|
||||||
|
worksheet.Range[row, 1].Text = "Sanierung im Verbund";
|
||||||
|
worksheet.Range[row, 2].Text = "ja oder nein";
|
||||||
|
worksheet.Range[row, 1, row, 2].CellStyle = cellStyle;
|
||||||
|
// Auflistung
|
||||||
|
worksheet.Range[row, 7].Text = "Summe brutto Haltung";
|
||||||
worksheet.Range[row, 10].Formula = string.Format("=SUM(J{0}:J{1})", row - 1, row - 2);
|
worksheet.Range[row, 10].Formula = string.Format("=SUM(J{0}:J{1})", row - 1, row - 2);
|
||||||
|
|
||||||
worksheet.Range[temprow, 7, row, 10].CellStyle = cellStyle;
|
worksheet.Range[temprow, 7, row, 10].CellStyle = cellStyle;
|
||||||
|
|
||||||
worksheet.Range[mainrow+1, 4].Text = inspizierteLaenge.ToString();
|
worksheet.Range[mainrow+1, 3].Text = inspizierteLaenge.ToString();
|
||||||
row += 5;
|
row += 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
row -= 3;
|
||||||
|
|
||||||
|
worksheet.Range[row, 1].Text = "Haltungsbewertung:";
|
||||||
|
worksheet.Range[row + 1, 1, row + 4, 5].Merge();
|
||||||
|
worksheet.Range[row + 1, 1, row + 4, 5].CellStyle.Color = ColorTranslator.FromHtml("#FCE4D6");
|
||||||
|
row += 6;
|
||||||
|
worksheet.Range[row, 1].Text = "Sanierungsempfehlung:";
|
||||||
|
|
||||||
|
row += 2;
|
||||||
|
worksheet.Range[row, 1].Text = "Hinweis:";
|
||||||
|
|
||||||
|
|
||||||
|
row++;
|
||||||
|
worksheet.Range[row, 1].Text = "TV-Befahrung:";
|
||||||
|
worksheet.Range[row, 2].Text = "Sohle sichtbar:";
|
||||||
|
worksheet.Range[row, 4].Text = "% Wasser in der Sohle";
|
||||||
worksheet.UsedRange.AutofitColumns();
|
worksheet.UsedRange.AutofitColumns();
|
||||||
worksheet.Range[string.Format("J1:J{0}",row)].NumberFormat = "€#,##0.00";
|
worksheet.Range[string.Format("J1:J{0}", row)].NumberFormat = "_(€* #,##0_)"; // "€ #,##0";
|
||||||
|
|
||||||
|
row += 3;
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private static bool CheckKuerzel(string begrenzung, RZustand code)
|
||||||
|
{
|
||||||
|
string[] begrenzungs = begrenzung.Split(':');
|
||||||
|
string ch1 = begrenzungs[1];
|
||||||
|
string ch2 = begrenzungs[2];
|
||||||
|
|
||||||
|
bool check1 = false;
|
||||||
|
bool check2 = false;
|
||||||
|
if(ch1 != "-")
|
||||||
|
{
|
||||||
|
check1 = ch1 == code.Charakterisierung1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
check1 = true;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ch2 != "-")
|
||||||
|
{
|
||||||
|
check2 = ch2 == code.Charakterisierung2;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
check2 = true;
|
||||||
|
}
|
||||||
|
return check1 && check2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -33,8 +33,6 @@ 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; }
|
||||||
@@ -50,7 +48,5 @@ 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,4 +1,5 @@
|
|||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics.CodeAnalysis;
|
||||||
|
|
||||||
namespace Schnittstelle.Import.XML.v2013.Model
|
namespace Schnittstelle.Import.XML.v2013.Model
|
||||||
{
|
{
|
||||||
@@ -34,6 +35,12 @@ namespace Schnittstelle.Import.XML.v2013.Model
|
|||||||
inspektionslaenge = value;
|
inspektionslaenge = value;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public string Inspektionsrichtung_RAW
|
||||||
|
{
|
||||||
|
get => inspektionsrichtung;
|
||||||
|
}
|
||||||
|
|
||||||
public string Inspektionsrichtung
|
public string Inspektionsrichtung
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
|
|||||||
@@ -13,6 +13,12 @@ using System.Xml;
|
|||||||
|
|
||||||
namespace Schnittstelle.Import.XML.v2013
|
namespace Schnittstelle.Import.XML.v2013
|
||||||
{
|
{
|
||||||
|
|
||||||
|
public class NotZustandException: Exception
|
||||||
|
{
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public class XML2013 : ISchnittstelleImporter
|
public class XML2013 : ISchnittstelleImporter
|
||||||
{
|
{
|
||||||
private string xmlFile = "";
|
private string xmlFile = "";
|
||||||
@@ -78,6 +84,7 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
Tuple<List<AbwassertechnischeAnlage>, List<InspizierteAbwassertechnischeAnlage>> src = LoadRawFile();
|
Tuple<List<AbwassertechnischeAnlage>, List<InspizierteAbwassertechnischeAnlage>> src = LoadRawFile();
|
||||||
stammdaten = src.Item1;
|
stammdaten = src.Item1;
|
||||||
inspektionsdaten = src.Item2;
|
inspektionsdaten = src.Item2;
|
||||||
|
if (inspektionsdaten.Count == 0) Console.WriteLine("Keine Inspektionsdaten gefunden in der XML");
|
||||||
foreach (InspizierteAbwassertechnischeAnlage iat in inspektionsdaten)
|
foreach (InspizierteAbwassertechnischeAnlage iat in inspektionsdaten)
|
||||||
{
|
{
|
||||||
AbwassertechnischeAnlage stammdatens = stammdaten.Find(x => x.Objektbezeichnung.Equals(iat.Objektbezeichnung) && x.ObjektArt.Equals(EObjektArt.KANTE));//;
|
AbwassertechnischeAnlage stammdatens = stammdaten.Find(x => x.Objektbezeichnung.Equals(iat.Objektbezeichnung) && x.ObjektArt.Equals(EObjektArt.KANTE));//;
|
||||||
@@ -100,20 +107,43 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
if (!File.Exists(XmlFile)) throw new FileNotFoundException(string.Format("XML Datei mit den Pfad {0} wurde nicht gefunden", XmlFile));
|
if (!File.Exists(XmlFile)) throw new FileNotFoundException(string.Format("XML Datei mit den Pfad {0} wurde nicht gefunden", XmlFile));
|
||||||
XmlDocument doc = new XmlDocument();
|
XmlDocument doc = new XmlDocument();
|
||||||
doc.Load(XmlFile);
|
doc.Load(XmlFile);
|
||||||
|
string xmlNameSpace = doc.DocumentElement.NamespaceURI;
|
||||||
rootChild = doc.LastChild;
|
rootChild = doc.LastChild;
|
||||||
|
|
||||||
manager = new XmlNamespaceManager(doc.NameTable);
|
manager = new XmlNamespaceManager(doc.NameTable);
|
||||||
manager.AddNamespace("e", "http://www.ofd-hannover.la/Identifikation");
|
|
||||||
|
manager.AddNamespace("e", xmlNameSpace);
|
||||||
rootChild = rootChild.SelectSingleNode("//e:Datenkollektive", manager);
|
rootChild = rootChild.SelectSingleNode("//e:Datenkollektive", manager);
|
||||||
|
|
||||||
Stammdaten = LoadStammdatenCollectiv();
|
Stammdaten = LoadStammdatenCollectiv();
|
||||||
|
try
|
||||||
|
{
|
||||||
Inspektionsdaten = LoadInspektionsdatenCollectiv();
|
Inspektionsdaten = LoadInspektionsdatenCollectiv();
|
||||||
|
}
|
||||||
|
catch (NotZustandException ex)
|
||||||
|
{
|
||||||
|
Inspektionsdaten = new List<InspizierteAbwassertechnischeAnlage>();
|
||||||
|
}
|
||||||
return new Tuple<List<AbwassertechnischeAnlage>, List<InspizierteAbwassertechnischeAnlage>>(Stammdaten, Inspektionsdaten);
|
return new Tuple<List<AbwassertechnischeAnlage>, List<InspizierteAbwassertechnischeAnlage>>(Stammdaten, Inspektionsdaten);
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<InspizierteAbwassertechnischeAnlage> LoadInspektionsdatenCollectiv()
|
private List<InspizierteAbwassertechnischeAnlage> LoadInspektionsdatenCollectiv()
|
||||||
{
|
{
|
||||||
List<InspizierteAbwassertechnischeAnlage> result = new List<InspizierteAbwassertechnischeAnlage>();
|
List<InspizierteAbwassertechnischeAnlage> result = new List<InspizierteAbwassertechnischeAnlage>();
|
||||||
|
|
||||||
|
bool found = false;
|
||||||
|
|
||||||
|
foreach(XmlNode childNode in rootChild.ChildNodes)
|
||||||
|
{
|
||||||
|
if(childNode.Name.Equals("Zustandsdatenkollektiv"))
|
||||||
|
{
|
||||||
|
found = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!found) throw new NotZustandException();
|
||||||
|
|
||||||
XmlNode zstdk = rootChild.SelectSingleNode("//e:Zustandsdatenkollektiv", manager);
|
XmlNode zstdk = rootChild.SelectSingleNode("//e:Zustandsdatenkollektiv", manager);
|
||||||
XmlNodeList Inspektionsdaten = zstdk.SelectNodes("//e:InspizierteAbwassertechnischeAnlage", manager);
|
XmlNodeList Inspektionsdaten = zstdk.SelectNodes("//e:InspizierteAbwassertechnischeAnlage", manager);
|
||||||
|
|
||||||
@@ -323,6 +353,8 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
case "Timecode": break;
|
case "Timecode": break;
|
||||||
case "GrundAbbruch": break;
|
case "GrundAbbruch": break;
|
||||||
case "Videozaehler": break;
|
case "Videozaehler": break;
|
||||||
|
case "BCAMaterial": break;
|
||||||
|
case "BDBZustandLeitung": break;
|
||||||
default: throw new NotImplementedException(d.Name);
|
default: throw new NotImplementedException(d.Name);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -331,8 +363,6 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
ICodeBeschreibung codedescription = factory.GetCodeBeschreibung(rZustand);
|
ICodeBeschreibung codedescription = factory.GetCodeBeschreibung(rZustand);
|
||||||
|
|
||||||
rZustand.KodeDescription = codedescription.GetBeschreibung;
|
rZustand.KodeDescription = codedescription.GetBeschreibung;
|
||||||
if (codedescription is IRenovation) rZustand.Renovation = (IRenovation)codedescription;
|
|
||||||
if(codedescription is IReparatur) rZustand.Reparatur = (IReparatur)codedescription;
|
|
||||||
|
|
||||||
result.Add(rZustand);
|
result.Add(rZustand);
|
||||||
}
|
}
|
||||||
@@ -460,6 +490,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 = ConvertXMLToDecimal(d.InnerText); break;
|
case "Entfernung": result.Entfernung = ConvertXMLToDecimal(d.InnerText); break;
|
||||||
case "Fixierung": result.Fixierung = d.InnerText; break;
|
case "Fixierung": result.Fixierung = d.InnerText; break;
|
||||||
|
case "AnschlussArt": break;
|
||||||
default: throw new NotImplementedException(d.Name);
|
default: throw new NotImplementedException(d.Name);
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -504,6 +535,7 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
case "Kommentar": break;
|
case "Kommentar": break;
|
||||||
case "Geometrie": result.Geometrie = parseGeometrie(aktuell); break;
|
case "Geometrie": result.Geometrie = parseGeometrie(aktuell); break;
|
||||||
case "Sanierung": break;
|
case "Sanierung": break;
|
||||||
|
case "Ordnungseinheiten": break;
|
||||||
default: throw new NotImplementedException(aktuell.Name);
|
default: throw new NotImplementedException(aktuell.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -523,6 +555,9 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
result.Geometriedaten = parseGeometrieDaten(s);
|
result.Geometriedaten = parseGeometrieDaten(s);
|
||||||
break;
|
break;
|
||||||
case "GeoObjektart": break;
|
case "GeoObjektart": break;
|
||||||
|
case "VorlaeufigeBezeichnung": break;
|
||||||
|
case "Kommentar": break;
|
||||||
|
|
||||||
|
|
||||||
default: throw new NotImplementedException(s.Name);
|
default: throw new NotImplementedException(s.Name);
|
||||||
}
|
}
|
||||||
@@ -544,6 +579,7 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
case "Kanten":
|
case "Kanten":
|
||||||
result.Kanten = parseGeometrieKanten(s);
|
result.Kanten = parseGeometrieKanten(s);
|
||||||
break;
|
break;
|
||||||
|
case "Polygone": break;
|
||||||
default: throw new NotImplementedException(s.Name);
|
default: throw new NotImplementedException(s.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -596,6 +632,8 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
case "Hochwert": result.Hochwert = ConvertXMLToDecimal(s.InnerText); break;
|
case "Hochwert": result.Hochwert = ConvertXMLToDecimal(s.InnerText); break;
|
||||||
case "Punkthoehe": result.Punkthoehe = ConvertXMLToDecimal(s.InnerText); break;
|
case "Punkthoehe": result.Punkthoehe = ConvertXMLToDecimal(s.InnerText); break;
|
||||||
case "PunktattributAbwasser": result.PunktattributAbwasser = s.InnerText; break;
|
case "PunktattributAbwasser": result.PunktattributAbwasser = s.InnerText; break;
|
||||||
|
case "Lagegenauigkeitsstufe": break;
|
||||||
|
case "Hoehengenauigkeitsstufe": break;
|
||||||
default: throw new NotImplementedException(s.Name);
|
default: throw new NotImplementedException(s.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -638,6 +676,8 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
case "PunktattributAbwasser":
|
case "PunktattributAbwasser":
|
||||||
punkt.PunktattributeAbwasser = s.InnerText;
|
punkt.PunktattributeAbwasser = s.InnerText;
|
||||||
break;
|
break;
|
||||||
|
case "Lagegenauigkeitsstufe": break;
|
||||||
|
case "Hoehengenauigkeitsstufe": break;
|
||||||
default: throw new NotImplementedException(s.Name);
|
default: throw new NotImplementedException(s.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -683,6 +723,10 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
break;
|
break;
|
||||||
case "Haltung":
|
case "Haltung":
|
||||||
break;
|
break;
|
||||||
|
case "Leitung":
|
||||||
|
break;
|
||||||
|
case "Anschlussdaten":
|
||||||
|
break;
|
||||||
default: throw new NotImplementedException(s.Name);
|
default: throw new NotImplementedException(s.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -716,6 +760,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;
|
||||||
|
case "Abdeckungen": break;
|
||||||
default: throw new NotImplementedException(s.Name);
|
default: throw new NotImplementedException(s.Name);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -733,7 +778,7 @@ namespace Schnittstelle.Import.XML.v2013
|
|||||||
case "SchachtFunktion": result.SchachtFunktion = (ESchachtFunktion)Convert.ToInt32(n.InnerText); break;
|
case "SchachtFunktion": result.SchachtFunktion = (ESchachtFunktion)Convert.ToInt32(n.InnerText); break;
|
||||||
case "Schachttiefe":
|
case "Schachttiefe":
|
||||||
result.SchachtTiefe = Convert.ToDecimal(n.InnerText);
|
result.SchachtTiefe = Convert.ToDecimal(n.InnerText);
|
||||||
Debugger.Break();
|
//Debugger.Break();
|
||||||
break;
|
break;
|
||||||
case "Einstieghilfe": break;
|
case "Einstieghilfe": break;
|
||||||
case "ArtEinstieghilfe": break;
|
case "ArtEinstieghilfe": break;
|
||||||
|
|||||||
@@ -3,31 +3,6 @@ using System.Collections.Generic;
|
|||||||
|
|
||||||
namespace Schnittstelle.Sanierung
|
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;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -6,11 +6,37 @@ using System.Text;
|
|||||||
namespace Schnittstelle.Sanierung
|
namespace Schnittstelle.Sanierung
|
||||||
{
|
{
|
||||||
|
|
||||||
|
public class SanierungMassnahme
|
||||||
|
{
|
||||||
|
private string begrenzung = string.Empty;
|
||||||
|
string beschreibung = string.Empty;
|
||||||
|
decimal kosten = decimal.Zero;
|
||||||
|
int dn = 0;
|
||||||
|
|
||||||
|
public string Beschreibung { get => beschreibung; }
|
||||||
|
public string Begrenzung { get => begrenzung; }
|
||||||
|
public decimal Kosten { get => kosten; }
|
||||||
|
public int DN { get => dn; }
|
||||||
|
|
||||||
|
public SanierungMassnahme(string beschreibung, decimal kosten, int dn, string begrenzung = "-:-:-")
|
||||||
|
{
|
||||||
|
this.beschreibung = beschreibung;
|
||||||
|
this.kosten = kosten;
|
||||||
|
this.dn = dn;
|
||||||
|
this.begrenzung = begrenzung;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public abstract class Sanierungart
|
public abstract class Sanierungart
|
||||||
{
|
{
|
||||||
string sanierungsbezeichnung = string.Empty;
|
string sanierungsbezeichnung = string.Empty;
|
||||||
public string Sanierungsbezeichnung { get => sanierungsbezeichnung; }
|
public string Sanierungsbezeichnung { get => sanierungsbezeichnung; }
|
||||||
public Dictionary<string, Tuple<string, double>> Sanierungen = new Dictionary<string, Tuple<string, double>>();
|
public Dictionary<string, Tuple<string, double>> Sanierungen = new Dictionary<string, Tuple<string, double>>();
|
||||||
|
|
||||||
|
protected Dictionary<string, List<SanierungMassnahme>> massnahmen =
|
||||||
|
new Dictionary<string, List<SanierungMassnahme>>();
|
||||||
|
|
||||||
|
public Dictionary<string, List<SanierungMassnahme>> Massnahmen => massnahmen;
|
||||||
public Sanierungart(string art)
|
public Sanierungart(string art)
|
||||||
{
|
{
|
||||||
sanierungsbezeichnung = art;
|
sanierungsbezeichnung = art;
|
||||||
@@ -22,17 +48,93 @@ namespace Schnittstelle.Sanierung
|
|||||||
|
|
||||||
public Reparatur() : base("Reparatur")
|
public Reparatur() : base("Reparatur")
|
||||||
{
|
{
|
||||||
Sanierungen.Add("BAB", new Tuple<string, double>("Kurzliner 2,4m", 300.30));
|
massnahmen.Add("BAB", new List<SanierungMassnahme>()
|
||||||
|
{
|
||||||
|
new SanierungMassnahme("Kurzliner",450,0)
|
||||||
|
});
|
||||||
|
massnahmen.Add("BAG", new List<SanierungMassnahme>()
|
||||||
|
{
|
||||||
|
new SanierungMassnahme("Fräsen",50,0)
|
||||||
|
});
|
||||||
|
massnahmen.Add("BAH", new List<SanierungMassnahme>()
|
||||||
|
{
|
||||||
|
new SanierungMassnahme("Fräsen",50,0,"BAH:C:-"),
|
||||||
|
new SanierungMassnahme("Hut",400,0,"BAH:C:-")
|
||||||
|
});
|
||||||
|
massnahmen.Add("BAI", new List<SanierungMassnahme>()
|
||||||
|
{
|
||||||
|
new SanierungMassnahme("Fräsen",50,0)
|
||||||
|
});
|
||||||
|
massnahmen.Add("BAJ", new List<SanierungMassnahme>()
|
||||||
|
{
|
||||||
|
new SanierungMassnahme("Fräsen",50,0)
|
||||||
|
});
|
||||||
|
massnahmen.Add("BBA", new List<SanierungMassnahme>()
|
||||||
|
{
|
||||||
|
new SanierungMassnahme("Fräsen",50,0)
|
||||||
|
});
|
||||||
|
massnahmen.Add("BBB", new List<SanierungMassnahme>()
|
||||||
|
{
|
||||||
|
new SanierungMassnahme("Fräsen",50,0)
|
||||||
|
});
|
||||||
|
massnahmen.Add("BBC", new List<SanierungMassnahme>()
|
||||||
|
{
|
||||||
|
new SanierungMassnahme("Fräsen",50,0)
|
||||||
|
});
|
||||||
|
massnahmen.Add("BCA", new List<SanierungMassnahme>()
|
||||||
|
{
|
||||||
|
new SanierungMassnahme("Tittensanierung",600,0,"BCA:C:-"),
|
||||||
|
new SanierungMassnahme("Tittensanierung",600,0,"BCA:E:-")
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class Renovation : Sanierungart
|
public class Renovation : Sanierungart
|
||||||
{
|
{
|
||||||
|
|
||||||
public Renovation() : base("Renovation")
|
public Renovation() : base("Renovation")
|
||||||
{
|
{
|
||||||
Sanierungen.Add("BCA", new Tuple<string, double>("Einmessen, Öffnen, Hut", 800));
|
BCA();
|
||||||
|
BCE();
|
||||||
|
|
||||||
|
|
||||||
|
massnahmen.Add("BAJ", new List<SanierungMassnahme>()
|
||||||
|
{
|
||||||
|
new SanierungMassnahme("Fräsen",50,0)
|
||||||
|
});
|
||||||
|
massnahmen.Add("BBA", new List<SanierungMassnahme>()
|
||||||
|
{
|
||||||
|
new SanierungMassnahme("Fräsen",50,0)
|
||||||
|
});
|
||||||
|
massnahmen.Add("BBB", new List<SanierungMassnahme>()
|
||||||
|
{
|
||||||
|
new SanierungMassnahme("Fräsen",50,0)
|
||||||
|
});
|
||||||
|
massnahmen.Add("BBC", new List<SanierungMassnahme>()
|
||||||
|
{
|
||||||
|
new SanierungMassnahme("Fräsen",50,0)
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
void BCA()
|
||||||
|
{
|
||||||
|
List<SanierungMassnahme> bca = new List<SanierungMassnahme>();
|
||||||
|
bca.Add(new SanierungMassnahme("Einmessen", 100, 0, "BCA:-:-"));
|
||||||
|
bca.Add(new SanierungMassnahme("Öffnen", 100, 0, "BCA:-:A"));
|
||||||
|
bca.Add(new SanierungMassnahme("Stsan", 600, 0, "BCA:-:A"));
|
||||||
|
massnahmen.Add("BCA", bca);
|
||||||
|
}
|
||||||
|
void BCE()
|
||||||
|
{
|
||||||
|
List<SanierungMassnahme> bce = new List<SanierungMassnahme>();
|
||||||
|
bce.Add(new SanierungMassnahme("Schlauchliner", 100, 200));
|
||||||
|
bce.Add(new SanierungMassnahme("Schlauchliner", 105, 250));
|
||||||
|
bce.Add(new SanierungMassnahme("Schlauchliner", 110, 300));
|
||||||
|
bce.Add(new SanierungMassnahme("Schlauchliner", 120, 400));
|
||||||
|
bce.Add(new SanierungMassnahme("Schlauchliner", 130, 500));
|
||||||
|
bce.Add(new SanierungMassnahme("Schlauchliner", 140, 600));
|
||||||
|
|
||||||
|
massnahmen.Add("BCE", bce);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user