From 3f5887d5d945fa16a422e6eca0e607c313de4a9f Mon Sep 17 00:00:00 2001
From: Michael Krisper <michael.krisper@tugraz.at>
Date: Mon, 4 Jul 2016 14:23:35 +0200
Subject: [PATCH] added validation to new gear params (downshift/upshift delay,
 min acc.)

---
 .../VectoCommon/InputData/EngineeringInputData.cs   | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs b/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs
index d4bf8eb6fa..823986e915 100644
--- a/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs
+++ b/VectoCommon/VectoCommon/InputData/EngineeringInputData.cs
@@ -30,6 +30,7 @@
 */
 
 using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
 using System.Data;
 using TUGraz.VectoCommon.Models;
 using TUGraz.VectoCommon.Utils;
@@ -94,7 +95,6 @@ namespace TUGraz.VectoCommon.InputData
 		DataTable CrosswindCorrectionMap { get; }
 	}
 
-
 	public interface IAxleEngineeringInputData : IAxleDeclarationInputData
 	{
 		/// <summary>
@@ -110,7 +110,6 @@ namespace TUGraz.VectoCommon.InputData
 		KilogramSquareMeter Inertia { get; }
 	}
 
-
 	public interface IGearboxEngineeringInputData : IGearboxDeclarationInputData
 	{
 		/// <summary>
@@ -168,15 +167,19 @@ namespace TUGraz.VectoCommon.InputData
 		/// </summary>
 		bool SkipGears { get; }
 
-
 		/// <summary>
 		/// P090, P091, P092, P127
 		/// cf. VECTO Input Parameters.xlsx
 		/// </summary>
 		ITorqueConverterInputData TorqueConverter { get; }
 
+		[Required, SIRange(0, double.MaxValue)]
 		Second DownshiftAferUpshiftDelay { get; }
+
+		[Required, SIRange(0, double.MaxValue)]
 		Second UpshiftAfterDownshiftDelay { get; }
+
+		[Required, SIRange(0, double.MaxValue)]
 		MeterPerSquareSecond UpshiftMinAcceleration { get; }
 	}
 
@@ -189,7 +192,6 @@ namespace TUGraz.VectoCommon.InputData
 		KilogramSquareMeter Inertia { get; }
 	}
 
-
 	public interface IAuxiliariesEngineeringInputData : IAuxiliariesDeclarationInputData
 	{
 		new IList<IAuxiliaryEngineeringInputData> Auxiliaries { get; }
@@ -202,7 +204,6 @@ namespace TUGraz.VectoCommon.InputData
 		string AdvancedAuxiliaryFilePath { get; }
 	}
 
-
 	public interface IDriverEngineeringInputData : IDriverDeclarationInputData
 	{
 		new IStartStopEngineeringInputData StartStop { get; }
@@ -218,7 +219,6 @@ namespace TUGraz.VectoCommon.InputData
 		ILookaheadCoastingInputData Lookahead { get; }
 	}
 
-
 	public interface IOverSpeedEcoRollEngineeringInputData : IOverSpeedEcoRollDeclarationInputData
 	{
 		/// <summary>
@@ -261,7 +261,6 @@ namespace TUGraz.VectoCommon.InputData
 		Second Delay { get; }
 	}
 
-
 	public interface ILookaheadCoastingInputData
 	{
 		/// <summary>
-- 
GitLab