From 06bb7200b06c4c4c277d360813d01afe6fd04433 Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <quaritsch@ivt.tugraz.at>
Date: Tue, 28 Feb 2023 14:33:56 +0100
Subject: [PATCH] xml reports: set input to correct property for buses

---
 .../CustomerInformationFile.cs                       |  1 +
 .../AbstractManufacturerReport.cs                    | 12 +++++++++++-
 .../CompletedBusManufacturerReport.cs                |  1 +
 .../VectoCore/OutputData/XML/XMLDeclarationReport.cs |  2 +-
 4 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CustomerInformationFile/CustomerInformationFile.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CustomerInformationFile/CustomerInformationFile.cs
index 094589093d..a967cc903f 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CustomerInformationFile/CustomerInformationFile.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/CustomerInformationFile/CustomerInformationFile_0_9/CustomerInformationFile/CustomerInformationFile.cs
@@ -217,6 +217,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformation
 			_ovc = modelData.VehicleData.OffVehicleCharging;
 
 			var inputData = modelData.InputData as IMultistepBusInputDataProvider;
+			Input = inputData.JobInputData.PrimaryVehicle.Vehicle;
 			if (inputData == null) {
 				throw new VectoException("CompletedBus CustomerInformationFile requires MultistepBusInputData");
 			}
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/AbstractManufacturerReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/AbstractManufacturerReport.cs
index b7079d4251..c7aa30ff77 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/AbstractManufacturerReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/AbstractManufacturerReport.cs
@@ -59,7 +59,17 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.
 		{
 			if (modelData.VehicleData.VehicleClass.IsBus())
 			{
-				Input = modelData.InputData.PrimaryVehicleData.Vehicle;
+				switch (modelData.InputData) {
+					case ISingleBusInputDataProvider single:
+						Input = single.PrimaryVehicle;
+						break;
+					case IMultistepBusInputDataProvider multistep:
+						Input = multistep.JobInputData.PrimaryVehicle.Vehicle;
+						break;
+					case IDeclarationInputDataProvider declaration:
+						Input = declaration.JobInputData.Vehicle;
+						break;
+				}
 			}
 			else
 			{
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReport/CompletedBusManufacturerReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReport/CompletedBusManufacturerReport.cs
index 7d06ca4ef2..e8e652d2a6 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReport/CompletedBusManufacturerReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReport/CompletedBusManufacturerReport.cs
@@ -26,6 +26,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.
 			InitializeVehicleData(modelData.InputData);
 			_ovc = modelData.VehicleData.OffVehicleCharging;
 			var inputData = modelData.InputData as IMultistepBusInputDataProvider;
+			Input = inputData.JobInputData.PrimaryVehicle.Vehicle;
 			if (inputData == null) {
 				throw new VectoException("CompletedBus ManrufacturersRecordFile requires MultistepBusInputData");
 			}
diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs
index 8befe01509..a3e5250118 100644
--- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs
+++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs
@@ -115,7 +115,7 @@ namespace TUGraz.VectoCore.OutputData.XML
 
             public IFuelConsumptionCorrection FuelConsumptionFinal(FuelType fuelType)
 			{
-				return CorrectedFinalFuelConsumption[fuelType];
+				return CorrectedFinalFuelConsumption.ContainsKey(fuelType) ?  CorrectedFinalFuelConsumption[fuelType] : null;
 			}
 
 			public WattSecond ElectricEnergyConsumption { get; private set; }
-- 
GitLab