From 929cb324e7c0a725e3756c49db89937644ee5da7 Mon Sep 17 00:00:00 2001
From: Michael Krisper <michael.krisper@tugraz.at>
Date: Thu, 17 Mar 2022 11:03:36 +0100
Subject: [PATCH] Added AxleGearInputRetarder in RetarderTypes Enum

---
 .../VectoCommon/Models/RetarderType.cs        | 77 +++++++------------
 1 file changed, 29 insertions(+), 48 deletions(-)

diff --git a/VectoCommon/VectoCommon/Models/RetarderType.cs b/VectoCommon/VectoCommon/Models/RetarderType.cs
index 37d52d33ec..b00747feb6 100644
--- a/VectoCommon/VectoCommon/Models/RetarderType.cs
+++ b/VectoCommon/VectoCommon/Models/RetarderType.cs
@@ -41,8 +41,7 @@ namespace TUGraz.VectoCommon.Models
 		TransmissionOutputRetarder,
 		EngineRetarder,
 		LossesIncludedInTransmission,
-		//todo mk2022-02-17 add the AxlegearInputRetarder later when working on the retarder positions
-		//AxlegearInputRetarder
+		AxlegearInputRetarder
 	}
 
 	public static class RetarderTypeHelper
@@ -50,68 +49,50 @@ namespace TUGraz.VectoCommon.Models
 		public static RetarderType Parse(string retarderType)
 		{
 			switch (retarderType.ToLowerInvariant()) {
-				case "primary":
-					return RetarderType.TransmissionInputRetarder;
-				case "secondary":
-					return RetarderType.TransmissionOutputRetarder;
-				case "losses included in gearbox":
-					return RetarderType.LossesIncludedInTransmission;
-				default:
-					return retarderType.ParseEnum<RetarderType>();
+				case "primary": return RetarderType.TransmissionInputRetarder;
+				case "secondary": return RetarderType.TransmissionOutputRetarder;
+				case "losses included in gearbox": return RetarderType.LossesIncludedInTransmission;
+				case "axlegear input retarder": return RetarderType.AxlegearInputRetarder;
+				default: return retarderType.ParseEnum<RetarderType>();
 			}
 		}
 
 		public static string GetName(this RetarderType retarder)
 		{
 			switch (retarder) {
-				case RetarderType.TransmissionInputRetarder:
-					return "primary";
-				case RetarderType.TransmissionOutputRetarder:
-					return "secondary";
-				default:
-					return retarder.ToString();
+				case RetarderType.TransmissionInputRetarder: return "primary";
+				case RetarderType.TransmissionOutputRetarder: return "secondary";
+				default: return retarder.ToString();
 			}
 		}
 
-		public static string GetLabel(this RetarderType retarder)
+		public static string GetLabel(this RetarderType retarderType)
 		{
-			switch (retarder) {
-				case RetarderType.None:
-					return "None";
-				case RetarderType.TransmissionInputRetarder:
-					return "Primary Retarder";
-				case RetarderType.TransmissionOutputRetarder:
-					return "Secondary Retarder";
-				case RetarderType.EngineRetarder:
-					return "Engine Retarder";
-				case RetarderType.LossesIncludedInTransmission:
-					return "Included in Transmission Loss Maps";
-				default:
-					throw new ArgumentOutOfRangeException("RetarderType", retarder, null);
+			switch (retarderType) {
+				case RetarderType.None: return "None";
+				case RetarderType.TransmissionInputRetarder: return "Primary Retarder";
+				case RetarderType.TransmissionOutputRetarder: return "Secondary Retarder";
+				case RetarderType.EngineRetarder: return "Engine Retarder";
+				case RetarderType.LossesIncludedInTransmission: return "Included in Transmission Loss Maps";
+				case RetarderType.AxlegearInputRetarder: return "Axlegear Input Retarder";
+				default: throw new ArgumentOutOfRangeException(nameof(retarderType), retarderType, null);
 			}
 		}
 
-		public static string ToXMLFormat(this RetarderType type)
+		public static string ToXMLFormat(this RetarderType retarderType)
 		{
-			switch (type) {
-				case RetarderType.None:
-					return "None";
-				case RetarderType.TransmissionInputRetarder:
-					return "Transmission Input Retarder";
-				case RetarderType.TransmissionOutputRetarder:
-					return "Transmission Output Retarder";
-				case RetarderType.EngineRetarder:
-					return "Engine Retarder";
-				case RetarderType.LossesIncludedInTransmission:
-					return "Losses included in Gearbox";
-				default:
-					throw new ArgumentOutOfRangeException("RetarderType", type, null);
+			switch (retarderType) {
+				case RetarderType.None: return "None";
+				case RetarderType.TransmissionInputRetarder: return "Transmission Input Retarder";
+				case RetarderType.TransmissionOutputRetarder: return "Transmission Output Retarder";
+				case RetarderType.EngineRetarder: return "Engine Retarder";
+				case RetarderType.LossesIncludedInTransmission: return "Losses included in Gearbox";
+				case RetarderType.AxlegearInputRetarder: return "Axlegear Input Retarder";
+				default: throw new ArgumentOutOfRangeException(nameof(retarderType), retarderType, null);
 			}
 		}
 
-		public static bool IsDedicatedComponent(this RetarderType retarder)
-		{
-			return retarder == RetarderType.TransmissionInputRetarder || retarder == RetarderType.TransmissionOutputRetarder;
-		}
+		public static bool IsDedicatedComponent(this RetarderType retarder) =>
+			retarder.IsOneOf(RetarderType.TransmissionInputRetarder, RetarderType.TransmissionOutputRetarder);
 	}
 }
-- 
GitLab