Reparaturmaßnahmen und Renovationsmaßnahmen

Angefangen Interfaces zu Implementieren.
This commit is contained in:
Damian Wessels
2024-08-26 16:48:39 +02:00
parent f8a01cdd8a
commit fd13ba2695
7 changed files with 67 additions and 5 deletions

View File

@@ -1,4 +1,6 @@
namespace Schnittstelle.Contract
using Schnittstelle.Sanierung;
namespace Schnittstelle.Contract
{
interface ICodeBeschreibung
{

View File

@@ -1,18 +1,24 @@
using Schnittstelle.Import.XML.v2013.Model;
using Schnittstelle.Sanierung;
using System;
using System.Collections.Generic;
using System.Text;
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)
{
CH1.Add("A", "vertikal");
CH1.Add("B", "horizontal");
}
List<SanierungMassnahme> IReparatur.Massnahmen => reparatur;
List<SanierungMassnahme> IRenovation.Massnahmen => renovation;
}
}

View File

@@ -1,10 +1,14 @@
using Schnittstelle.Import.XML.v2013.Model;
using Schnittstelle.Sanierung;
using System;
using System.Collections.Generic;
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)
{
CH1.Add("A", "Oberflächenriss (Haarriss)");
@@ -16,7 +20,13 @@ namespace Schnittstelle.DWA149_2_2013
CH2.Add("C", "komplexe Rissbildung");
CH2.Add("D", "gewundene oder spiralfö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;
}
}

View File

@@ -1,5 +1,6 @@
using Schnittstelle.Contract;
using Schnittstelle.Import.XML.v2013.Model;
using Schnittstelle.Sanierung;
using System.Collections.Generic;
namespace Schnittstelle.DWA149_2_2013
@@ -33,6 +34,5 @@ namespace Schnittstelle.DWA149_2_2013
return string.Format("{0} {1} {2}", beschreibung, ch1,ch2);
}
}
}
}

View File

@@ -1,3 +1,6 @@
using Schnittstelle.Sanierung;
using System.Collections.Generic;
namespace Schnittstelle.Import.XML.v2013.Model
{
public struct Quantifizierung
@@ -30,6 +33,8 @@ namespace Schnittstelle.Import.XML.v2013.Model
string kommentar;
Klassifizierung? klassifizierung;
string kodeDescription;
IReparatur? reparatur;
IRenovation? renovation;
public decimal Station { get => station; set => station = 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 Klassifizierung? Klassifizierung { get => klassifizierung; set => klassifizierung = 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; }
}
}

View File

@@ -1,6 +1,7 @@
using Schnittstelle.Contract;
using Schnittstelle.DWA149_2_2013;
using Schnittstelle.Import.XML.v2013.Model;
using Schnittstelle.Sanierung;
using System;
using System.Collections.Generic;
using System.Diagnostics;
@@ -330,6 +331,9 @@ namespace Schnittstelle.Import.XML.v2013
ICodeBeschreibung codedescription = factory.GetCodeBeschreibung(rZustand);
rZustand.KodeDescription = codedescription.GetBeschreibung;
if (codedescription is IRenovation) rZustand.Renovation = (IRenovation)codedescription;
if(codedescription is IReparatur) rZustand.Reparatur = (IReparatur)codedescription;
result.Add(rZustand);
}

View 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;
}
}
}