From b124110d41bf6517d5bcc7c728be71f0531a32b8 Mon Sep 17 00:00:00 2001 From: "harald.martini@student.tugraz.at" <harald.martini@student.tugraz.at> Date: Wed, 28 Jul 2021 15:23:20 +0200 Subject: [PATCH] Updated IMulsitagePrimaryAndStageINputDataProvider Interface, and added support in JobListViewModel --- .../Implementation/JobListViewModel.cs | 27 ++++++++++++++----- .../Implementation/CreateVifViewModel.cs | 2 +- .../InputData/IInputDataProvider.cs | 3 +-- VectoCommon/VectoCommon/VectoCommon.csproj | 1 + 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/VECTO3GUI2020/ViewModel/Implementation/JobListViewModel.cs b/VECTO3GUI2020/ViewModel/Implementation/JobListViewModel.cs index db0f9f8f17..d9e46ea3ae 100644 --- a/VECTO3GUI2020/ViewModel/Implementation/JobListViewModel.cs +++ b/VECTO3GUI2020/ViewModel/Implementation/JobListViewModel.cs @@ -447,10 +447,18 @@ namespace VECTO3GUI2020.ViewModel.Implementation switch (extension) { case Constants.FileExtensions.VectoJobFile: input = JSONInputDataFactory.ReadJsonJob(fullFileName); - var tmp = input as IDeclarationInputDataProvider; - mode = tmp?.JobInputData.SavedInDeclarationMode ?? false - ? ExecutionMode.Declaration - : ExecutionMode.Engineering; + if (input is IDeclarationInputDataProvider tmp) { + mode = tmp.JobInputData.SavedInDeclarationMode + ? ExecutionMode.Declaration + : ExecutionMode.Engineering; + } else { + mode = ExecutionMode.Engineering; + } + + break; + case Constants.FileExtensions.Json: + input = JSONInputDataFactory.ReadJsonJob(fullFileName); + mode = ExecutionMode.Declaration; break; case ".xml": var xdoc = XDocument.Load(fullFileName); @@ -640,9 +648,16 @@ namespace VECTO3GUI2020.ViewModel.Implementation foreach (var jobEntry in jobs) { var w = new FileOutputWriter(GetOutputDirectory(jobEntry.DataSource.SourceFile)); - foreach (var entry in new Dictionary<string, string>() { { w.XMLFullReportName, "XML ManufacturereReport" }, { w.XMLCustomerReportName, "XML Customer Report" }, { w.XMLVTPReportName, "VTP Report" }, { w.XMLPrimaryVehicleReportName, "Primary Vehicle Information File" } }) + foreach (var entry in + new Dictionary<string, string>() { + { w.XMLFullReportName, "XML ManufacturereReport" }, + { w.XMLCustomerReportName, "XML Customer Report" }, + { w.XMLVTPReportName, "VTP Report" }, + { w.XMLPrimaryVehicleReportName, "Primary Vehicle Information File" } + }) { - if (File.Exists(entry.Key)) + if (File.Exists(entry.Key) && + ((DateTime.Now - File.GetLastWriteTime(entry.Key) < start.Elapsed))) { outputMessages.Report( new MessageEntry() diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/CreateVifViewModel.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/CreateVifViewModel.cs index 35f6902108..1202d2069b 100644 --- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/CreateVifViewModel.cs +++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/CreateVifViewModel.cs @@ -160,7 +160,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation if (inputDataProvider.StageInputData != null && (inputDataProvider.StageInputData.ExemptedVehicle != - inputDataProvider.PrimaryVehicle.ExemptedVehicle)) { + inputDataProvider.PrimaryVehicle.JobInputData.Vehicle.ExemptedVehicle)) { throw new VectoException("Can't combine exempted and non-exempted input data"); } diff --git a/VectoCommon/VectoCommon/InputData/IInputDataProvider.cs b/VectoCommon/VectoCommon/InputData/IInputDataProvider.cs index 495e5ae9b4..3cfeac75b2 100644 --- a/VectoCommon/VectoCommon/InputData/IInputDataProvider.cs +++ b/VectoCommon/VectoCommon/InputData/IInputDataProvider.cs @@ -84,7 +84,6 @@ namespace TUGraz.VectoCommon.InputData public interface ISingleBusInputDataProvider : IDeclarationInputDataProvider { IVehicleDeclarationInputData PrimaryVehicle { get; } - IVehicleDeclarationInputData CompletedVehicle { get; } } @@ -98,7 +97,7 @@ namespace TUGraz.VectoCommon.InputData public interface IMultistagePrimaryAndStageInputDataProvider : IInputDataProvider { - IVehicleDeclarationInputData PrimaryVehicle { get; } + IDeclarationInputDataProvider PrimaryVehicle { get; } IVehicleDeclarationInputData StageInputData { get; } } diff --git a/VectoCommon/VectoCommon/VectoCommon.csproj b/VectoCommon/VectoCommon/VectoCommon.csproj index a36d024133..ae4a50f9f1 100644 --- a/VectoCommon/VectoCommon/VectoCommon.csproj +++ b/VectoCommon/VectoCommon/VectoCommon.csproj @@ -146,6 +146,7 @@ <Compile Include="Utils\VectoMath.cs" /> </ItemGroup> <ItemGroup> + <None Include="InputData\BusInputData.cd" /> <None Include="packages.config" /> <None Include="Properties\Version.tt"> <Generator>TextTemplatingFileGenerator</Generator> -- GitLab