From 0e62ca2564132967ac7ef2b5f2a1b0614a301ac3 Mon Sep 17 00:00:00 2001
From: "VKMTHD\\franzjosefkober" <franz.josef.kober@ivt.tugraz.at>
Date: Fri, 8 Jul 2022 09:47:50 +0200
Subject: [PATCH] added HEV PX Vehicle Type

---
 .../IVIFReportFactory.cs                      |  5 ++--
 .../VIFNinjectModule.cs                       |  3 +++
 .../VehicleWriter.cs                          | 23 ++++++++++++++++++-
 3 files changed, 27 insertions(+), 4 deletions(-)

diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/IVIFReportFactory.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/IVIFReportFactory.cs
index 98d1371de9..8764277104 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/IVIFReportFactory.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/IVIFReportFactory.cs
@@ -18,9 +18,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 
 		IXmlTypeWriter GetConventionalVehicleType();
 		IXmlTypeWriter GetHevIepcSVehicleType();
-
-
-
+		IXmlTypeWriter GetHevPxVehicleType();
+		
 
 		#endregion
 
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs
index 670b768d22..4cd64bccfa 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs
@@ -30,6 +30,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 			Bind<IXmlTypeWriter>().To<HevIepcSVehicleType>().When(AccessedViaVIFFactory)
 				.NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetHevIepcSVehicleType());
 
+			Bind<IXmlTypeWriter>().To<HevPxVehicleType>().When(AccessedViaVIFFactory)
+				.NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetHevPxVehicleType());
+			
 
 			#endregion
 
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VehicleWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VehicleWriter.cs
index 3eb8bb2c7c..669e683b61 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VehicleWriter.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VehicleWriter.cs
@@ -55,7 +55,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 
 		public override XElement GetElement(IDeclarationInputDataProvider inputData)
 		{
-			var vehicleData = _vifReportFactory.GetHevIepcSVehicleGroup().GetElements(inputData);
+			var vehicleData = _vifReportFactory.GetHevIepcSVehicleParameterGroup().GetElements(inputData);
 			vehicleData.Add(_vifReportFactory.GetHevIepcSComponentVIFType().GetElement(inputData));
 
 			return new XElement(_vif + XMLNames.Component_Vehicle,
@@ -65,4 +65,25 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 
 		#endregion
 	}
+
+
+	public class HevPxVehicleType : VehicleWriter
+	{
+		public HevPxVehicleType(IVIFReportFactory vifReportFactory) : base(vifReportFactory) { }
+
+		#region Overrides of VehicleWriter
+
+		public override XElement GetElement(IDeclarationInputDataProvider inputData)
+		{
+
+			var vehicleData = _vifReportFactory.GetHevPxVehicleParameterGroup().GetElements(inputData);
+			vehicleData.Add(_vifReportFactory.GetHevPxComponentVIFType().GetElement(inputData));
+
+			return new XElement(_vif + XMLNames.Component_Vehicle,
+				new XAttribute(_xsi + "type", "vif:HEV-Px_VehicleVIFType"),
+				vehicleData);
+		}
+
+		#endregion
+	}
 }
-- 
GitLab