absperrblasen werden gezählt

This commit is contained in:
HuskyTeufel
2022-01-26 14:17:40 +01:00
parent c01f237c6a
commit 6159ab0af0
6 changed files with 36 additions and 2 deletions

View File

@@ -6,5 +6,6 @@ namespace XMLParser.Contract
public interface IProtokollWriter public interface IProtokollWriter
{ {
void WriteEntry(Dictionary<ECalculatedResult, decimal> calculated, List<KanalObjekt> inspektionenAmTag); void WriteEntry(Dictionary<ECalculatedResult, decimal> calculated, List<KanalObjekt> inspektionenAmTag);
void WriteBaried(string content);
} }
} }

View File

@@ -13,6 +13,10 @@ namespace XMLParser.Functions
{ {
internal FileStream handle = null; internal FileStream handle = null;
public void WriteBaried(string content)
{
throw new NotImplementedException();
}
public abstract void WriteEntry(Dictionary<ECalculatedResult, decimal> calculated, List<KanalObjekt> inspektionenAmTag); public abstract void WriteEntry(Dictionary<ECalculatedResult, decimal> calculated, List<KanalObjekt> inspektionenAmTag);

View File

@@ -8,6 +8,27 @@ namespace XMLParser.Functions
{ {
public static class Calculate public static class Calculate
{ {
public static string CalculateWaterBariedAsString(List<KanalObjekt> inspektionen)
{
List<KanalObjekt> barieded = inspektionen.FindAll(x => x.Inspektionsdaten.OptischeInspektion.Wasserhaltung != EWasserhaltung.NONE);
List<int> DistinctDurchmesser = barieded.Select(s => s.Inspektionsdaten.OptischeInspektion.Rohrleitung.Grunddaten.Profilbreite).Distinct().ToList();
string result = "#ANZAHLGESAMT# Dichtkissen gesetzt. ";
int counter = 0;
foreach(int durchmesser in DistinctDurchmesser)
{
List<KanalObjekt> abgesperrt = barieded.FindAll(x => x.Inspektionsdaten.OptischeInspektion.Rohrleitung.Grunddaten.Profilbreite.Equals(durchmesser));
result = string.Format("{0} DN{1} in Schacht", result, durchmesser);
foreach(KanalObjekt objekt in abgesperrt)
{
result = string.Format(" {0} {1} ", result, objekt.Stammdaten.Objektbezeichnung);
counter++;
}
}
result = result.Replace("#ANZAHLGESAMT#",counter.ToString());
return result;
}
public static Dictionary<ECalculatedResult,decimal> CalculateStreet(List<KanalObjekt> inspektionen) public static Dictionary<ECalculatedResult,decimal> CalculateStreet(List<KanalObjekt> inspektionen)
{ {
Dictionary<ECalculatedResult,decimal> result = new Dictionary<ECalculatedResult, decimal>(); Dictionary<ECalculatedResult,decimal> result = new Dictionary<ECalculatedResult, decimal>();

View File

@@ -74,7 +74,7 @@ namespace XMLParser.Functions.ProtokollWriter
makeHeaderTitlesInHtml(avaibleHeaders); makeHeaderTitlesInHtml(avaibleHeaders);
writeToFile(result); writeToFile(result);
writeToFile("</table>"); writeToFile("</table>");
writeHTMLFooter();
} }
@@ -87,5 +87,12 @@ namespace XMLParser.Functions.ProtokollWriter
} }
writeToFile("</tr>"); writeToFile("</tr>");
} }
public void WriteBaried(string content)
{
writeToFile(string.Format("<p>{0}</p>",content));
writeHTMLFooter();
}
} }
} }

View File

@@ -13,6 +13,7 @@ namespace XMLParser.Functions.UmsatzCalculator
Dictionary<ECalculatedResult,decimal> d = XMLParser.Functions.Calculate.CalculateStreet(objekte); Dictionary<ECalculatedResult,decimal> d = XMLParser.Functions.Calculate.CalculateStreet(objekte);
protokollWriter.WriteEntry(d,objekte); protokollWriter.WriteEntry(d,objekte);
protokollWriter.WriteBaried(XMLParser.Functions.Calculate.CalculateWaterBariedAsString(objekte));
} }
} }
} }

View File

@@ -31,7 +31,7 @@ namespace XMLProgramm
#if DEBUG #if DEBUG
IProtokollWriter protokollWriter = new XMLParser.Functions.ProtokollWriter.HTMLProtkollWriter(headertitles); IProtokollWriter protokollWriter = new XMLParser.Functions.ProtokollWriter.HTMLProtkollWriter(headertitles);
XMLParse sers = new XMLParse("2022-01-26_KS_H_L_Oldenburg_Haßforter-Straße.xml"); XMLParse sers = new XMLParse("2021-11-12_KS_H_L_Oldenburg_Westersteder-Straße.xml");
var d = sers.KanalObjekte.FindAll(x => x.Inspektionsdaten.OptischeInspektion.Wasserhaltung != EWasserhaltung.NONE); var d = sers.KanalObjekte.FindAll(x => x.Inspektionsdaten.OptischeInspektion.Wasserhaltung != EWasserhaltung.NONE);
IUmsatzCalculator calculators = new XMLParser.Functions.UmsatzCalculator.StrassenUmsatz(); IUmsatzCalculator calculators = new XMLParser.Functions.UmsatzCalculator.StrassenUmsatz();
calculators.Calculate(protokollWriter, sers.KanalObjekte); calculators.Calculate(protokollWriter, sers.KanalObjekte);