From 85e6ce944b64e51fa1b5584f9004e1a55413ce75 Mon Sep 17 00:00:00 2001
From: "harald.martini@student.tugraz.at" <harald.martini@student.tugraz.at>
Date: Wed, 25 Aug 2021 09:42:05 +0200
Subject: [PATCH] Added VehicleTypeApprovalNumber to
 IVehicleDeclarationInputData and implemented Property in all derived Types
 (throw NotImplementedException)

---
 VECTO/Input Files/Engine.vb                                | 6 ++++++
 VECTO/Input Files/Gearbox.vb                               | 7 +++++++
 VECTO/Input Files/MockVehicleInputData.vb                  | 7 +++++++
 VECTO/Input Files/Vehicle.vb                               | 6 ++++++
 .../Adapter/Declaration/VehicleDeclarationAdapter.cs       | 2 ++
 .../Implementation/JobEdit/Vehicle/VehicleViewModel.cs     | 2 ++
 .../Implementation/InterimStageBusVehicleViewModel_v2_8.cs | 2 ++
 VectoCommon/VectoCommon/InputData/DeclarationInputData.cs  | 2 ++
 .../InputData/FileIO/JSON/JSONComponentInputData.cs        | 4 +++-
 .../VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs     | 2 ++
 .../DataProvider/XMLDeclarationVehicleDataProvider.cs      | 4 ++++
 .../Reader/Impl/XMLDeclarationMultistageInputReader.cs     | 2 ++
 .../DataProvider/XMLEngineeringVehicleDataProvider.cs      | 2 ++
 .../VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs | 6 ++++++
 14 files changed, 53 insertions(+), 1 deletion(-)

diff --git a/VECTO/Input Files/Engine.vb b/VECTO/Input Files/Engine.vb
index 3b45ac7055..2e3593452e 100644
--- a/VECTO/Input Files/Engine.vb	
+++ b/VECTO/Input Files/Engine.vb	
@@ -674,6 +674,12 @@ Public Class DummyVehicle
 	Public ReadOnly Property DoorDriveTechnology As ConsumerTechnology? Implements IVehicleDeclarationInputData.DoorDriveTechnology
 	Public ReadOnly Property VehicleDeclarationType As VehicleDeclarationType Implements IVehicleDeclarationInputData.VehicleDeclarationType
 
+	Public ReadOnly Property VehicleTypeApprovalNumber As String Implements IVehicleDeclarationInputData.VehicleTypeApprovalNumber
+		Get
+			Throw New NotImplementedException
+		End Get
+	End Property
+
 	Public ReadOnly Property Components As IVehicleComponentsDeclaration Implements IVehicleDeclarationInputData.Components
 		Get
 			Return Me
diff --git a/VECTO/Input Files/Gearbox.vb b/VECTO/Input Files/Gearbox.vb
index 55b9a11a10..3a4cb79259 100644
--- a/VECTO/Input Files/Gearbox.vb	
+++ b/VECTO/Input Files/Gearbox.vb	
@@ -877,6 +877,13 @@ Public Class MockEngineeringVehicle
     Public ReadOnly Property EntranceHeight As Meter Implements IVehicleDeclarationInputData.EntranceHeight
     Public ReadOnly Property DoorDriveTechnology As ConsumerTechnology? Implements IVehicleDeclarationInputData.DoorDriveTechnology
     Public ReadOnly Property VehicleDeclarationType As VehicleDeclarationType Implements IVehicleDeclarationInputData.VehicleDeclarationType
+
+    Public ReadOnly Property VehicleTypeApprovalNumber As String Implements IVehicleDeclarationInputData.VehicleTypeApprovalNumber
+        Get
+            Throw New NotImplementedException
+        End Get
+    End Property
+
     Public Property Components As IVehicleComponentsDeclaration Implements IVehicleDeclarationInputData.Components
     Public ReadOnly Property XMLSource As XmlNode Implements IVehicleDeclarationInputData.XMLSource
 
diff --git a/VECTO/Input Files/MockVehicleInputData.vb b/VECTO/Input Files/MockVehicleInputData.vb
index 3b484d4c04..2c757f820b 100644
--- a/VECTO/Input Files/MockVehicleInputData.vb	
+++ b/VECTO/Input Files/MockVehicleInputData.vb	
@@ -56,6 +56,13 @@ Public Class MockVehicleInputData
     Public ReadOnly Property EntranceHeight As Meter Implements IVehicleDeclarationInputData.EntranceHeight
     Public ReadOnly Property DoorDriveTechnology As ConsumerTechnology? Implements IVehicleDeclarationInputData.DoorDriveTechnology
     Public ReadOnly Property VehicleDeclarationType As VehicleDeclarationType Implements IVehicleDeclarationInputData.VehicleDeclarationType
+
+    Public ReadOnly Property VehicleTypeApprovalNumber As String Implements IVehicleDeclarationInputData.VehicleTypeApprovalNumber
+        Get
+            Throw New NotImplementedException
+        End Get
+    End Property
+
     Public Property Components As IVehicleComponentsDeclaration Implements IVehicleDeclarationInputData.Components
     Public ReadOnly Property XMLSource As XmlNode Implements IVehicleDeclarationInputData.XMLSource
 End Class
\ No newline at end of file
diff --git a/VECTO/Input Files/Vehicle.vb b/VECTO/Input Files/Vehicle.vb
index c261e84768..1d7a8c0c6b 100644
--- a/VECTO/Input Files/Vehicle.vb	
+++ b/VECTO/Input Files/Vehicle.vb	
@@ -481,6 +481,12 @@ Public Class Vehicle
 	Public ReadOnly Property DoorDriveTechnology As ConsumerTechnology? Implements IVehicleDeclarationInputData.DoorDriveTechnology
 	Public ReadOnly Property VehicleDeclarationType As VehicleDeclarationType Implements IVehicleDeclarationInputData.VehicleDeclarationType
 
+	Public ReadOnly Property VehicleTypeApprovalNumber As String Implements IVehicleDeclarationInputData.VehicleTypeApprovalNumber
+		Get
+			Throw New NotImplementedException
+		End Get
+	End Property
+
 	Public ReadOnly Property IVehicleEngineeringInputData_Components As IVehicleComponentsEngineering Implements IVehicleEngineeringInputData.Components
 		Get
 			Return Me
diff --git a/VECTO3GUI/ViewModel/Adapter/Declaration/VehicleDeclarationAdapter.cs b/VECTO3GUI/ViewModel/Adapter/Declaration/VehicleDeclarationAdapter.cs
index 0ddb13c270..793f214e5a 100644
--- a/VECTO3GUI/ViewModel/Adapter/Declaration/VehicleDeclarationAdapter.cs
+++ b/VECTO3GUI/ViewModel/Adapter/Declaration/VehicleDeclarationAdapter.cs
@@ -128,6 +128,8 @@ namespace VECTO3GUI.ViewModel.Adapter.Declaration
 			return GetComponentViewModel<IAirdragViewModel>(Component.Airdrag)?.ModelData;
 		} }
 
+		public string VehicleTypeApprovalNumber => throw new NotImplementedException();
+
 		public IVehicleComponentsDeclaration Components { get { return this; } }
 		public XmlNode XMLSource { get; }
 
diff --git a/VECTO3GUI2020/ViewModel/Implementation/JobEdit/Vehicle/VehicleViewModel.cs b/VECTO3GUI2020/ViewModel/Implementation/JobEdit/Vehicle/VehicleViewModel.cs
index 9ffa326e26..08f08b6651 100644
--- a/VECTO3GUI2020/ViewModel/Implementation/JobEdit/Vehicle/VehicleViewModel.cs
+++ b/VECTO3GUI2020/ViewModel/Implementation/JobEdit/Vehicle/VehicleViewModel.cs
@@ -355,6 +355,8 @@ namespace VECTO3GUI2020.ViewModel.Implementation.JobEdit.Vehicle
 
 		public VehicleDeclarationType VehicleDeclarationType => throw new NotImplementedException();
 
+		public string VehicleTypeApprovalNumber => throw new NotImplementedException();
+
 		public virtual ConsumerTechnology DoorDriveTechnology
 		{
 			get => throw new NotImplementedException();
diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs
index 8ec5ea2bb0..109368cf09 100644
--- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs
+++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs
@@ -806,6 +806,8 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation
 			set => SetProperty(ref _vehicleDeclarationType, value);
 		}
 
+		public string VehicleTypeApprovalNumber => throw new NotImplementedException();
+
 		#endregion
 
 
diff --git a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
index 25f5345166..32ca994977 100644
--- a/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
+++ b/VectoCommon/VectoCommon/InputData/DeclarationInputData.cs
@@ -198,6 +198,8 @@ namespace TUGraz.VectoCommon.InputData
 
 		VehicleDeclarationType VehicleDeclarationType { get; }
 
+		string VehicleTypeApprovalNumber { get; }
+
 		// components
 
 		IVehicleComponentsDeclaration Components { get; }
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs
index fc5da5301d..a5309cc60e 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONComponentInputData.cs
@@ -254,7 +254,9 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 		public ConsumerTechnology? DoorDriveTechnology => VehicleData.DoorDriveTechnology;
 
 		public VehicleDeclarationType VehicleDeclarationType { get; }
-		
+
+		public string VehicleTypeApprovalNumber => throw new NotImplementedException();
+
 		IVehicleComponentsEngineering IVehicleEngineeringInputData.Components => this;
 
 		XmlNode IVehicleDeclarationInputData.XMLSource => null;
diff --git a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs
index fbbca0739d..8d19b73b0f 100644
--- a/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/JSON/JSONVehicleData.cs
@@ -289,6 +289,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.JSON
 		public virtual ConsumerTechnology? DoorDriveTechnology => ConsumerTechnology.Unknown;
 		public virtual VehicleDeclarationType VehicleDeclarationType { get; }
 
+		public string VehicleTypeApprovalNumber => throw new NotImplementedException();
+
 
 		IVehicleComponentsEngineering IVehicleEngineeringInputData.Components => this;
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs
index ef0154c263..e687c5a5fb 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/DataProvider/XMLDeclarationVehicleDataProvider.cs
@@ -237,6 +237,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 		public virtual ConsumerTechnology? DoorDriveTechnology => ConsumerTechnology.Unknown;
 		public virtual VehicleDeclarationType VehicleDeclarationType { get; }
 
+		public string VehicleTypeApprovalNumber => throw new NotImplementedException();
+
 
 		public virtual IVehicleComponentsDeclaration Components => _components ?? (_components = ComponentReader.ComponentInputData);
 
@@ -698,6 +700,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider
 
 		public virtual VehicleDeclarationType VehicleDeclarationType { get; }
 
+		public string VehicleTypeApprovalNumber => throw new NotImplementedException();
+
 
 		public virtual IVehicleComponentsDeclaration Components => _components ?? (_components = ComponentReader.ComponentInputData);
 
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs
index 8c6ba087ab..c47307e324 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Declaration/Reader/Impl/XMLDeclarationMultistageInputReader.cs
@@ -499,6 +499,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Reader.Impl
 
 		public VehicleDeclarationType VehicleDeclarationType => _manufacturingStages.First().Vehicle.VehicleDeclarationType;
 
+		public string VehicleTypeApprovalNumber => throw new NotImplementedException();
+
 		#endregion
 
 		#region ManufacturingStage optional properties
diff --git a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs
index 30f573e8ee..b7e5d3a868 100644
--- a/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs
+++ b/VectoCore/VectoCore/InputData/FileIO/XML/Engineering/DataProvider/XMLEngineeringVehicleDataProvider.cs
@@ -148,6 +148,8 @@ namespace TUGraz.VectoCore.InputData.FileIO.XML.Engineering.DataProvider
 		public ConsumerTechnology? DoorDriveTechnology => ConsumerTechnology.Unknown;
 		public virtual VehicleDeclarationType VehicleDeclarationType { get; }
 
+		public string VehicleTypeApprovalNumber => throw new NotImplementedException();
+
 		public TableData MaxPropulsionTorque => null;
 
 		IVehicleComponentsDeclaration IVehicleDeclarationInputData.Components => null;
diff --git a/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs b/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs
index b491470cb4..7a38428e28 100644
--- a/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs
+++ b/VectoCore/VectoCoreTest/Utils/MockDeclarationVehicleInputData.cs
@@ -63,6 +63,9 @@ namespace TUGraz.VectoCore.Tests.Utils {
 		public Meter EntranceHeight { get; }
 		public ConsumerTechnology? DoorDriveTechnology { get; }
 		public VehicleDeclarationType VehicleDeclarationType { get; }
+
+		public string VehicleTypeApprovalNumber => throw new NotImplementedException();
+
 		public IVehicleComponentsDeclaration Components => this;
 		public XmlNode XMLSource { get; }
 
@@ -120,6 +123,9 @@ namespace TUGraz.VectoCore.Tests.Utils {
 		public Meter EntranceHeight { get; }
 		public ConsumerTechnology? DoorDriveTechnology { get; }
 		public VehicleDeclarationType VehicleDeclarationType { get; }
+
+		public string VehicleTypeApprovalNumber => throw new NotImplementedException();
+
 		public Watt MaxNetPower2 { get; }
 		public string ExemptedTechnology { get; }
 		public RegistrationClass? RegisteredClass { get; set; }
-- 
GitLab