From ca9551a08060b81fcb244e5f2ef068d6d7aace7f Mon Sep 17 00:00:00 2001
From: "VKMTHD\\franzjosefkober" <franz.josef.kober@ivt.tugraz.at>
Date: Mon, 4 May 2020 09:24:03 +0200
Subject: [PATCH] enable to save airdrag data optional

---
 .../TempDataObject/AirdragComponentData.cs    |  3 ++
 VECTO3GUI/Util/XML/XMLCompletedBus.cs         |  3 ++
 VECTO3GUI/ViewModel/Impl/AirdragViewModel.cs  | 29 ++++++++++++++-----
 VECTO3GUI/ViewModel/Interfaces/IAirdrag.cs    |  1 +
 .../ViewModel/Interfaces/IAirdragViewModel.cs |  1 -
 5 files changed, 28 insertions(+), 9 deletions(-)

diff --git a/VECTO3GUI/Model/TempDataObject/AirdragComponentData.cs b/VECTO3GUI/Model/TempDataObject/AirdragComponentData.cs
index ef0153e65d..b92fd10401 100644
--- a/VECTO3GUI/Model/TempDataObject/AirdragComponentData.cs
+++ b/VECTO3GUI/Model/TempDataObject/AirdragComponentData.cs
@@ -17,6 +17,7 @@ namespace VECTO3GUI.Model.TempDataObject
 		public string Model { get; set; }
 		public string CertificationNumber { get; set; }
 		public DateTime? Date { get; set; }
+		public bool NoAirdragData { get; set; }
 		public bool UseMeasuredValues { get; set; }
 		public SquareMeter CdxA_0 { get; set; }
 		public SquareMeter TransferredCdxA { get; set; }
@@ -47,6 +48,7 @@ namespace VECTO3GUI.Model.TempDataObject
 
 		public void ResetToComponentValues(IAirdragViewModel viewModel)
 		{
+			viewModel.NoAirdragData = NoAirdragData;
 			viewModel.Model = Model;
 			viewModel.Manufacturer = Manufacturer;
 			viewModel.CertificationNumber = CertificationNumber;
@@ -73,6 +75,7 @@ namespace VECTO3GUI.Model.TempDataObject
 
 		private void SetValues(IAirdragViewModel viewModel)
 		{
+			NoAirdragData = viewModel.NoAirdragData;
 			Model = viewModel.Model;
 			Manufacturer = viewModel.Manufacturer;
 			CertificationNumber = viewModel.CertificationNumber;
diff --git a/VECTO3GUI/Util/XML/XMLCompletedBus.cs b/VECTO3GUI/Util/XML/XMLCompletedBus.cs
index 7ab379e144..6654662a1d 100644
--- a/VECTO3GUI/Util/XML/XMLCompletedBus.cs
+++ b/VECTO3GUI/Util/XML/XMLCompletedBus.cs
@@ -127,6 +127,9 @@ namespace VECTO3GUI.Util.XML
 		
 		private XElement GetAirdrag(IAirdrag airdrag)
 		{
+			if (airdrag.NoAirdragData)
+				return null;
+
 			return new XElement(_v26 + XMLNames.Component_AirDrag, 
 				new XAttribute("xmlns", _v20),
 				
diff --git a/VECTO3GUI/ViewModel/Impl/AirdragViewModel.cs b/VECTO3GUI/ViewModel/Impl/AirdragViewModel.cs
index 70ae9f5f19..df389d3dbe 100644
--- a/VECTO3GUI/ViewModel/Impl/AirdragViewModel.cs
+++ b/VECTO3GUI/ViewModel/Impl/AirdragViewModel.cs
@@ -155,6 +155,18 @@ namespace VECTO3GUI.ViewModel.Impl
 
 		public DigestData DigestValue { get; set; }
 
+
+		public bool NoAirdragData
+		{
+			get { return _noAirdragData; }
+			set
+			{
+				SetProperty(ref _noAirdragData, value);
+				IsDataChanged(_noAirdragData, _componentData);
+				UseMeasurementData = !_noAirdragData;
+			}
+		}
+
 		#endregion
 
 		public bool IsEditable
@@ -169,13 +181,7 @@ namespace VECTO3GUI.ViewModel.Impl
 			set { SetProperty(ref _useMeasurementData, value); }
 		}
 
-		public bool NoAirdragData
-		{
-			get { return _noAirdragData; }
-			set { SetProperty(ref _noAirdragData, value); }
-		}
-
-
+		
 		protected override void InputDataChanged()
 		{
 			var inputData = JobViewModel.InputDataProvider as IDeclarationInputDataProvider;
@@ -221,7 +227,14 @@ namespace VECTO3GUI.ViewModel.Impl
 
 		private void DoAirdragConfig(AirdragConfig config)
 		{
-			
+			switch (config) {
+				case AirdragConfig.WithoutAirdrag:
+					NoAirdragData = true;
+					break;
+				case AirdragConfig.UseMeasurementData:
+					NoAirdragData = false;
+					break;
+			}
 		}
 
 
diff --git a/VECTO3GUI/ViewModel/Interfaces/IAirdrag.cs b/VECTO3GUI/ViewModel/Interfaces/IAirdrag.cs
index 9d28b8a68a..aa59c689ee 100644
--- a/VECTO3GUI/ViewModel/Interfaces/IAirdrag.cs
+++ b/VECTO3GUI/ViewModel/Interfaces/IAirdrag.cs
@@ -10,6 +10,7 @@ namespace VECTO3GUI.ViewModel.Interfaces
 {
 	public interface IAirdrag : ICommonComponentParameters
 	{
+		bool NoAirdragData { get; set; }
 		bool UseMeasuredValues { get; set; }
 		SquareMeter CdxA_0 { get; set; }
 		SquareMeter TransferredCdxA { get; set; }
diff --git a/VECTO3GUI/ViewModel/Interfaces/IAirdragViewModel.cs b/VECTO3GUI/ViewModel/Interfaces/IAirdragViewModel.cs
index f85fd276dd..3bfe460225 100644
--- a/VECTO3GUI/ViewModel/Interfaces/IAirdragViewModel.cs
+++ b/VECTO3GUI/ViewModel/Interfaces/IAirdragViewModel.cs
@@ -9,7 +9,6 @@ namespace VECTO3GUI.ViewModel.Interfaces
 		IAirdragDeclarationInputData ModelData { get; }
 		bool IsEditable { get; }
 
-		bool NoAirdragData { get; }
 		bool UseMeasurementData { get; }
 
 		ICommand LoadFileCommand { get; }
-- 
GitLab