Dictionary auf Enums umgestellt

This commit is contained in:
HuskyTeufel
2021-08-06 09:48:31 +02:00
parent 49f97b44af
commit 7e920df643
4 changed files with 29 additions and 18 deletions

View File

@@ -6,9 +6,9 @@ namespace XMLParser
{
public static class Calculate
{
public static Dictionary<string,decimal> CalculateDay(List<KanalObjekt> inspektionen)
public static Dictionary<ECalculatedResult,decimal> CalculateDay(List<KanalObjekt> inspektionen)
{
Dictionary<string,decimal> result = new Dictionary<string, decimal>();
Dictionary<ECalculatedResult,decimal> result = new Dictionary<ECalculatedResult, decimal>();
decimal HauptkanalLaenge =0.0m;
inspektionen
@@ -28,16 +28,16 @@ namespace XMLParser
SOs.AddRange(Anschlussleitungen);
result.Add("StraßenablaufCount",SEs.Count);
result.Add("SonstigeCount",SOs.Count);
result.Add(ECalculatedResult.STRASSENABLAUFANZAHL,SEs.Count);
result.Add(ECalculatedResult.SONSTIGEANZAHL,SOs.Count);
decimal SEPauschal = 34.00m * SEs.Count;
decimal SOPauschal = 45.00m * SOs.Count;
decimal HauptkanalPreis = 1.60m * HauptkanalLaenge;
result.Add("StraßenablaufPauschal",SEPauschal);
result.Add("SonstigesPauschal",SOPauschal);
result.Add("HauptkanalPreis",HauptkanalPreis);
result.Add(ECalculatedResult.STRASSENABLAUFUMSATZ,SEPauschal);
result.Add(ECalculatedResult.SONSTIGEUMSATZ,SOPauschal);
result.Add(ECalculatedResult.HAUPTKANALUMSATZ,HauptkanalPreis);
@@ -52,9 +52,9 @@ namespace XMLParser
});
decimal LeitungsOverlengthPreis = LeitungOverlength * 2.4m;
result.Add("LeitungÜberlaenge",LeitungOverlength);
result.Add("PreisLeitung",LeitungsOverlengthPreis);
result.Add("Umsatz",(LeitungsOverlengthPreis + HauptkanalPreis + SEPauschal + SOPauschal));
result.Add(ECalculatedResult.LAENGEZULAGEMETER,LeitungOverlength);
result.Add(ECalculatedResult.LAENGEZULAGEUMSATZ,LeitungsOverlengthPreis);
result.Add(ECalculatedResult.GESAMTUMSATZ,(LeitungsOverlengthPreis + HauptkanalPreis + SEPauschal + SOPauschal));
return result;
}
}

View File

@@ -65,4 +65,15 @@ namespace XMLParser
REINIGUNGSOEFFNUNG,
PROBENAHMEOEFFNUNG
}
public enum ECalculatedResult {
STRASSENABLAUFANZAHL,
SONSTIGEANZAHL,
STRASSENABLAUFUMSATZ,
SONSTIGEUMSATZ,
HAUPTKANALUMSATZ,
LAENGEZULAGEMETER,
LAENGEZULAGEUMSATZ,
GESAMTUMSATZ
}
}

View File

@@ -17,11 +17,11 @@ namespace XMLParserTest
Assert.AreEqual(35,kanalObjekts.Count);
var umsatz = Calculate.CalculateDay(kanalObjekts);
Assert.AreEqual(3,umsatz["StraßenablaufCount"]);
Assert.AreEqual(29,umsatz["SonstigeCount"]);
Assert.AreEqual(102.00m,umsatz["StraßenablaufPauschal"]);
Assert.AreEqual(1305.00m,umsatz["SonstigesPauschal"]);
Assert.AreEqual(27.50m,umsatz["LeitungÜberlaenge"]);
Assert.AreEqual(3,umsatz[ECalculatedResult.STRASSENABLAUFANZAHL]);
Assert.AreEqual(29,umsatz[ECalculatedResult.SONSTIGEANZAHL]);
Assert.AreEqual(102.00m,umsatz[ECalculatedResult.STRASSENABLAUFUMSATZ]);
Assert.AreEqual(1305.00m,umsatz[ECalculatedResult.SONSTIGEUMSATZ]);
Assert.AreEqual(27.50m,umsatz[ECalculatedResult.LAENGEZULAGEUMSATZ]);
}
}
}

View File

@@ -28,9 +28,9 @@ namespace XMLProgramm
decimal gesamt = 0.0m;
//Dictionary<string,decimal> s = CalculateDay(objekte.FindAll(x => x.Inspektionsdaten.OptischeInspektion.Inspektionsdatum.Equals("05.08.2021")));
foreach(string datum in datums) {
Dictionary<string,decimal> s = Calculate.CalculateDay(objekte.FindAll(x => x.Inspektionsdaten.OptischeInspektion.Inspektionsdatum.Equals(datum)));
Console.WriteLine("Umsatz am : "+datum + " " + s["Umsatz"]);
gesamt +=s["Umsatz"];
Dictionary<ECalculatedResult,decimal> s = Calculate.CalculateDay(objekte.FindAll(x => x.Inspektionsdaten.OptischeInspektion.Inspektionsdatum.Equals(datum)));
Console.WriteLine("Umsatz am : "+datum + " " + s[ECalculatedResult.GESAMTUMSATZ]);
gesamt +=s[ECalculatedResult.GESAMTUMSATZ];
//if(datum.Equals("05.08.2021")) Debugger.Break();
}
Console.WriteLine(gesamt + " Durchschnitt : "+gesamt / datums.Count());