From b547726b27662adafefe0603c3d5a37aa6e4c35a Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <quaritsch@ivt.tugraz.at>
Date: Mon, 13 Mar 2023 15:37:27 +0100
Subject: [PATCH] adding vecto run data to result entry, use iresultentry
 interface instead of special class

---
 VectoCore/VectoCore/OutputData/DeclarationReport.cs |  2 ++
 .../IXMLVehicleInformationFile.cs                   |  2 +-
 .../AbstractVehicleInformationFile.cs               |  2 +-
 .../XMLExemptedPrimaryBusVehicleReport.cs           |  2 +-
 .../XMLPrimaryBusVehicleReport.cs                   |  6 +++---
 .../OutputData/XML/XMLDeclarationReport.cs          | 13 ++++++++-----
 6 files changed, 16 insertions(+), 11 deletions(-)

diff --git a/VectoCore/VectoCore/OutputData/DeclarationReport.cs b/VectoCore/VectoCore/OutputData/DeclarationReport.cs
index 0cc738025d..e522154058 100644
--- a/VectoCore/VectoCore/OutputData/DeclarationReport.cs
+++ b/VectoCore/VectoCore/OutputData/DeclarationReport.cs
@@ -74,6 +74,8 @@ namespace TUGraz.VectoCore.OutputData
 	{
 		void Initialize(VectoRunData vectoRunData);
 
+		VectoRunData VectoRunData { get; }
+
 		VectoRun.Status Status { get; }
 
 		VectoRunData.OvcHevMode OVCMode { get; }
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/IXMLVehicleInformationFile.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/IXMLVehicleInformationFile.cs
index 8d330dd58b..b54d3b7e0d 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/IXMLVehicleInformationFile.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/IXMLVehicleInformationFile.cs
@@ -6,7 +6,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 	public interface IXMLVehicleInformationFile
 	{
 		void Initialize(VectoRunData modelData);
-		void WriteResult(XMLDeclarationReport.ResultEntry result);
+		void WriteResult(IResultEntry result);
 		void GenerateReport(XElement fullReportHash);
 		XDocument Report { get; }
 		XNamespace Tns { get; }
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/AbstractVehicleInformationFile.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/AbstractVehicleInformationFile.cs
index 19d94946d6..f8971b6e5a 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/AbstractVehicleInformationFile.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/AbstractVehicleInformationFile.cs
@@ -64,7 +64,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 		}
 
 		
-		public void WriteResult(XMLDeclarationReport.ResultEntry result)
+		public void WriteResult(IResultEntry result)
 		{
 			_results.Add(result);
 		}
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs
index be87c99c1a..1f61748ebd 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLExemptedPrimaryBusVehicleReport.cs
@@ -43,7 +43,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 
 		}
 
-		public override void WriteResult(XMLDeclarationReport.ResultEntry result)
+		public override void WriteResult(IResultEntry result)
 		{
 			// no results for exempted vehicle
 		}
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs
index 5663b85f1a..94e2365155 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/XMLPrimaryBusVehicleReport.cs
@@ -531,7 +531,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 			};
 		}
 
-		public virtual void WriteResult(XMLDeclarationReport.ResultEntry resultEntry)
+		public virtual void WriteResult(IResultEntry resultEntry)
 		{
 			_allSuccess &= resultEntry.Status == VectoRun.Status.Success;
 
@@ -566,7 +566,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
                     GetResults(resultEntry)));
         }
 
-		private object[] GetResults(XMLDeclarationReport.ResultEntry resultEntry)
+		private object[] GetResults(IResultEntry resultEntry)
 		{
 			switch (resultEntry.Status) {
 				case VectoRun.Status.Pending:
@@ -582,7 +582,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF
 			}
 		}
 
-		private object[] GetSuccessResultEntry(XMLDeclarationReport.ResultEntry result)
+		private object[] GetSuccessResultEntry(IResultEntry result)
 		{
 			var retVal = new List<XElement>();
 
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs
index d1f4eddbe4..25ca624844 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs
@@ -95,19 +95,22 @@ namespace TUGraz.VectoCore.OutputData.XML
 				MaxChargingPower = runData.MaxChargingPower;
 				BatteryData = runData.BatteryData;
 				OVCMode = runData.OVCMode;
+				VectoRunData = runData;
 			}
 
-			public MissionType Mission { get; set; }
-			public LoadingType LoadingType { get; set; }
-			public int FuelMode { get; set; }
+			public VectoRunData VectoRunData { get; private set; }
+
+			public MissionType Mission { get; private set; }
+			public LoadingType LoadingType { get; private set; }
+			public int FuelMode { get; private set; }
 			public IList<IFuelProperties> FuelData { get; set; }
 
 
 			public Kilogram Payload { get; set; }
 
-			public Kilogram TotalVehicleMass { get; set; }
+			public Kilogram TotalVehicleMass { get; private set; }
 
-			public CubicMeter CargoVolume { get; set; }
+			public CubicMeter CargoVolume { get; private set; }
 
 			public double? PassengerCount { get; set; }
 			public VehicleClass VehicleClass { get; set; }
-- 
GitLab