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 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; decimal HauptkanalLaenge =0.0m;
inspektionen inspektionen
@@ -28,16 +28,16 @@ namespace XMLParser
SOs.AddRange(Anschlussleitungen); SOs.AddRange(Anschlussleitungen);
result.Add("StraßenablaufCount",SEs.Count); result.Add(ECalculatedResult.STRASSENABLAUFANZAHL,SEs.Count);
result.Add("SonstigeCount",SOs.Count); result.Add(ECalculatedResult.SONSTIGEANZAHL,SOs.Count);
decimal SEPauschal = 34.00m * SEs.Count; decimal SEPauschal = 34.00m * SEs.Count;
decimal SOPauschal = 45.00m * SOs.Count; decimal SOPauschal = 45.00m * SOs.Count;
decimal HauptkanalPreis = 1.60m * HauptkanalLaenge; decimal HauptkanalPreis = 1.60m * HauptkanalLaenge;
result.Add("StraßenablaufPauschal",SEPauschal); result.Add(ECalculatedResult.STRASSENABLAUFUMSATZ,SEPauschal);
result.Add("SonstigesPauschal",SOPauschal); result.Add(ECalculatedResult.SONSTIGEUMSATZ,SOPauschal);
result.Add("HauptkanalPreis",HauptkanalPreis); result.Add(ECalculatedResult.HAUPTKANALUMSATZ,HauptkanalPreis);
@@ -52,9 +52,9 @@ namespace XMLParser
}); });
decimal LeitungsOverlengthPreis = LeitungOverlength * 2.4m; decimal LeitungsOverlengthPreis = LeitungOverlength * 2.4m;
result.Add("LeitungÜberlaenge",LeitungOverlength); result.Add(ECalculatedResult.LAENGEZULAGEMETER,LeitungOverlength);
result.Add("PreisLeitung",LeitungsOverlengthPreis); result.Add(ECalculatedResult.LAENGEZULAGEUMSATZ,LeitungsOverlengthPreis);
result.Add("Umsatz",(LeitungsOverlengthPreis + HauptkanalPreis + SEPauschal + SOPauschal)); result.Add(ECalculatedResult.GESAMTUMSATZ,(LeitungsOverlengthPreis + HauptkanalPreis + SEPauschal + SOPauschal));
return result; return result;
} }
} }

View File

@@ -65,4 +65,15 @@ namespace XMLParser
REINIGUNGSOEFFNUNG, REINIGUNGSOEFFNUNG,
PROBENAHMEOEFFNUNG 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); Assert.AreEqual(35,kanalObjekts.Count);
var umsatz = Calculate.CalculateDay(kanalObjekts); var umsatz = Calculate.CalculateDay(kanalObjekts);
Assert.AreEqual(3,umsatz["StraßenablaufCount"]); Assert.AreEqual(3,umsatz[ECalculatedResult.STRASSENABLAUFANZAHL]);
Assert.AreEqual(29,umsatz["SonstigeCount"]); Assert.AreEqual(29,umsatz[ECalculatedResult.SONSTIGEANZAHL]);
Assert.AreEqual(102.00m,umsatz["StraßenablaufPauschal"]); Assert.AreEqual(102.00m,umsatz[ECalculatedResult.STRASSENABLAUFUMSATZ]);
Assert.AreEqual(1305.00m,umsatz["SonstigesPauschal"]); Assert.AreEqual(1305.00m,umsatz[ECalculatedResult.SONSTIGEUMSATZ]);
Assert.AreEqual(27.50m,umsatz["LeitungÜberlaenge"]); Assert.AreEqual(27.50m,umsatz[ECalculatedResult.LAENGEZULAGEUMSATZ]);
} }
} }
} }

View File

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