Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 77c2e135 authored by Franz KOBER josef's avatar Franz KOBER josef
Browse files

read TransferredCdxA and CdxA_0 values separately if completed xml exists

parent e88db3f7
No related branches found
No related tags found
No related merge requests found
......@@ -33,5 +33,15 @@ namespace VECTO3GUI.Helper
DigestValue = new DigestData(GetNode(XMLNames.DI_Signature))
};
}
public SquareMeter ReadTransferredCdxA()
{
return GetDouble("TransferredCdxA").SI<SquareMeter>();
}
public SquareMeter ReadCdxA_0()
{
return GetDouble("CdxA_0").SI<SquareMeter>();
}
}
}
......@@ -53,5 +53,13 @@ namespace VECTO3GUI.Helper
var validator = new XMLValidator(xmlDocument, null, XMLValidator.CallBackExceptionOnError);
return validator.ValidateXML(documentType.Value); ;
}
public static string GetXmlAbsoluteFilePath(string baseUri)
{
if (baseUri == null)
return null;
return new Uri(baseUri).AbsolutePath;
}
}
}
......@@ -121,11 +121,7 @@ namespace VECTO3GUI.ViewModel.Impl
protected void SetXmlFilePath(string baseUri)
{
if (baseUri == null)
return;
var uri = new Uri(baseUri);
XmlFilePath = uri.AbsolutePath;
XmlFilePath = XmlHelper.GetXmlAbsoluteFilePath(baseUri);
}
protected bool CloseWindowDialog()
......
......@@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Windows.Input;
using System.Xml;
using Castle.Core.Internal;
using Ninject;
using TUGraz.VectoCommon.Hashing;
......@@ -65,7 +66,7 @@ namespace VECTO3GUI.ViewModel.Impl
private bool _isEditable;
private bool _useMeasurementData;
private bool _noAirdragData;
private string _xmlFilePath;
private ICommand _airdragConfig;
private ICommand _loadFileCommand;
......@@ -186,6 +187,9 @@ namespace VECTO3GUI.ViewModel.Impl
{
var inputData = JobViewModel.InputDataProvider as IDeclarationInputDataProvider;
_airdragData = inputData?.JobInputData.Vehicle.Components.AirdragInputData;
var xmlUri = inputData?.JobInputData.Vehicle.XMLSource.BaseURI;
_xmlFilePath = XmlHelper.GetXmlAbsoluteFilePath(xmlUri);
SetAirdragValues(_airdragData);
UseMeasurementData = _airdragData.AirDragArea != null;
NoAirdragData = !UseMeasurementData;
......@@ -207,14 +211,22 @@ namespace VECTO3GUI.ViewModel.Impl
Date = airdrag.Date;
AppVersion = airdrag.AppVersion;
DeclaredCdxA = airdrag.AirDragArea;
CdxA_0 = DeclaredCdxA;
TransferredCdxA = DeclaredCdxA;
DigestValue = airdrag.DigestValue;
ReadAdditionalAirdragValues();
_componentData = new AirdragComponentData(this);
ClearChangedProperties();
}
private void ReadAdditionalAirdragValues()
{
var xmlNodes = GetXmlNodes(_xmlFilePath);
var compReader = new XmlComponentReaderHelper(xmlNodes[0].ParentNode);
CdxA_0 = compReader.ReadCdxA_0();
TransferredCdxA = compReader.ReadTransferredCdxA();
}
#region Commands
public ICommand AirdragConfigCommand
......@@ -273,20 +285,24 @@ namespace VECTO3GUI.ViewModel.Impl
private void ReadSelectedXml(string filePath)
{
if (filePath.IsNullOrEmpty())
return;
var xmlDocument = XmlHelper.ReadXmlDocument(filePath);
var nodes = XmlHelper.GetComponentNodes(xmlDocument,
XMLNames.VectoInputDeclaration, VectoComponents.Airdrag.XMLElementName());
if(nodes.IsNullOrEmpty())
var xmlNodes = GetXmlNodes(filePath);
if (xmlNodes.IsNullOrEmpty())
return;
var compReader = new XmlComponentReaderHelper(nodes[0].ParentNode);
var compReader = new XmlComponentReaderHelper(xmlNodes[0].ParentNode);
SetLoadedAirdragData(compReader.GetAirdragComponentData());
}
private XmlNodeList GetXmlNodes(string filePath)
{
if (filePath.IsNullOrEmpty())
return null;
var xmlDocument = XmlHelper.ReadXmlDocument(filePath);
return XmlHelper.GetComponentNodes(xmlDocument,
XMLNames.VectoInputDeclaration, VectoComponents.Airdrag.XMLElementName());
}
private void SetLoadedAirdragData(AirdragComponentData airdrag)
{
if (airdrag == null)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment