From b61e4117b856181563ee019b7670895571e483f4 Mon Sep 17 00:00:00 2001
From: Harald Martini <harald.martini@student.tugraz.at>
Date: Wed, 22 Jun 2022 09:52:30 +0200
Subject: [PATCH] added additional parameterchecks to MRFAngleDriveType,
 MRFRetarderType and MRFTorqueLimitationsType

---
 .../Components/MRFAngleDriveType.cs                            | 3 +++
 .../Components/MRFRetarderType.cs                              | 3 +++
 .../Components/MRFTorqueLimitationsType.cs                     | 2 +-
 3 files changed, 7 insertions(+), 1 deletion(-)

diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/Components/MRFAngleDriveType.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/Components/MRFAngleDriveType.cs
index 71f04ba4bc..5ca8b6c366 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/Components/MRFAngleDriveType.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/Components/MRFAngleDriveType.cs
@@ -20,6 +20,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.
 		public XElement GetElement(IDeclarationInputDataProvider inputData)
 		{
 			var angleDriveData = inputData.JobInputData.Vehicle.Components.AngledriveInputData;
+			if (angleDriveData == null || angleDriveData.Type == AngledriveType.None) {
+				return null;
+			}
 			return new XElement(_mrf + XMLNames.Component_Angledrive,
 				new XElement(_mrf + XMLNames.Component_Model, angleDriveData.Model),
 				new XElement(_mrf + XMLNames.Component_CertificationNumber, angleDriveData.CertificationNumber),
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/Components/MRFRetarderType.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/Components/MRFRetarderType.cs
index a105ca6ced..ec14cb4171 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/Components/MRFRetarderType.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/Components/MRFRetarderType.cs
@@ -19,6 +19,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.
 		public XElement GetElement(IDeclarationInputDataProvider inputData)
 		{
 			var retarderData = inputData.JobInputData.Vehicle.Components.RetarderInputData;
+			if (retarderData == null || retarderData.Type == RetarderType.None) {
+				return null;
+			}
 			var result = new XElement(_mrf + XMLNames.Component_Retarder,
 				new XElement(_mrf + XMLNames.Component_Model,
 					inputData.JobInputData.Vehicle.Components.RetarderInputData.Model),
diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/Components/MRFTorqueLimitationsType.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/Components/MRFTorqueLimitationsType.cs
index 722dd8b85a..55e1b58109 100644
--- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/Components/MRFTorqueLimitationsType.cs
+++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/ManufacturerReportXMLTypeWriter/Components/MRFTorqueLimitationsType.cs
@@ -15,7 +15,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.
 
 		public XElement GetElement(IDeclarationInputDataProvider inputData)
 		{
-			if (inputData.JobInputData.Vehicle.TorqueLimits == null) {
+			if (inputData.JobInputData.Vehicle.TorqueLimits == null || inputData.JobInputData.Vehicle.TorqueLimits.Count == 0) {
 
 				return null;
 			}
-- 
GitLab