diff --git a/VECTO3GUI2020/Properties/Strings.Designer.cs b/VECTO3GUI2020/Properties/Strings.Designer.cs index 89bcc4dc547641e67f3dc60b23e4d2f61354ada5..9bfed0555c237947cc2e509e186c08c8abc4b441 100644 --- a/VECTO3GUI2020/Properties/Strings.Designer.cs +++ b/VECTO3GUI2020/Properties/Strings.Designer.cs @@ -97,7 +97,7 @@ namespace VECTO3GUI2020.Properties { } /// <summary> - /// Looks up a localized string similar to Heater Power. + /// Looks up a localized string similar to Auxiliary Heater Power. /// </summary> public static string AuxHeaterPower { get { diff --git a/VECTO3GUI2020/Properties/Strings.resx b/VECTO3GUI2020/Properties/Strings.resx index ae1fe2220c2a1ef102fc18eae4a3bee106b94fed..a9a089d6adcf5cf41b444bd8221589f4c39cba33 100644 --- a/VECTO3GUI2020/Properties/Strings.resx +++ b/VECTO3GUI2020/Properties/Strings.resx @@ -233,7 +233,7 @@ <value>Air Electric Heater</value> </data> <data name="AuxHeaterPower" xml:space="preserve"> - <value>Heater Power</value> + <value>Auxiliary Heater Power</value> </data> <data name="BrakelightsLED" xml:space="preserve"> <value>Brake Lights LED</value> diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs index e1524ad0a8afc56f392f06fbaeaaa8724b89423c..a5d94f3f09734aee490ef1db3e09e89e7e6bc323 100644 --- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs +++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/InterimStageBusVehicleViewModel_v2_8.cs @@ -70,6 +70,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation Dictionary<string, string> Errors { get; } IMultistageAirdragViewModel MultistageAirdragViewModel { get; set; } IMultistageAuxiliariesViewModel MultistageAuxiliariesViewModel { get; set; } + bool PrimaryVehicleHybridElectric { get; set; } void SetAirdragData(IAirdragDeclarationInputData airdragData); void SetVehicleInputData(IVehicleDeclarationInputData vehicleInputData); } @@ -96,6 +97,17 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation set => SetProperty(ref _multistageAuxiliariesViewModel, value); } + private bool _primaryVehicleHybridElectric; + public bool PrimaryVehicleHybridElectric + { + get => _primaryVehicleHybridElectric; + set + { + SetProperty(ref _primaryVehicleHybridElectric, value); + MultistageAuxiliariesViewModel.PrimaryVehicleHybridElectric = value; + } + } + #endregion public static readonly string INPUTPROVIDERTYPE = @@ -543,7 +555,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation private bool? _engineStopStartNullable; private EcoRollType? _ecoRollTypeNullable; private PredictiveCruiseControlType? _predictiveCruiseControlNullable; - + public IAdvancedDriverAssistantSystemDeclarationInputData ADAS diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/ManufacturingStageViewModel_v0_1.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/ManufacturingStageViewModel_v0_1.cs index ae4fa9940d3b4d85fc9c30c304ed02ee30693684..c9559da36e055430e911d31b1bfea4b9976394a2 100644 --- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/ManufacturingStageViewModel_v0_1.cs +++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/ManufacturingStageViewModel_v0_1.cs @@ -139,5 +139,6 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation public interface IManufacturingStageViewModel : IManufacturingStageInputData { void SetInputData(IVehicleDeclarationInputData vehicleInputData); + IMultistageVehicleViewModel VehicleViewModel { get; } } } diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAuxiliariesViewModel.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAuxiliariesViewModel.cs index 4744da5fe314f4e04ff9386472f657c4a209180b..a4dd118e5b71a2321b0d447fde615d2a0531e78e 100644 --- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAuxiliariesViewModel.cs +++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageAuxiliariesViewModel.cs @@ -22,6 +22,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation { void SetAuxiliariesInputData(IBusAuxiliariesDeclarationData componentsAuxiliaryInputData); bool HasValues { get; } + object PrimaryVehicleHybridElectric { get; set; } } @@ -68,6 +69,13 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation } } + private object _primaryVehicleHybridElectric = false; + public object PrimaryVehicleHybridElectric + { + get => _primaryVehicleHybridElectric; + set => SetProperty(ref _primaryVehicleHybridElectric, value); + } + #region HVAC @@ -312,6 +320,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation } private CompressorDrive _compressorDrive; + public CompressorDrive CompressorDrive diff --git a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs index f8647ffb1a012719179a0190cfc07b41ebab0c2d..13599c6d0dec5cbda17de537e6810b7cc31caf75 100644 --- a/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs +++ b/VECTO3GUI2020/ViewModel/MultiStage/Implementation/MultistageJobViewModel_v0_1.cs @@ -11,6 +11,7 @@ using System.Xml; using System.Xml.Linq; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCommon.Models; +using TUGraz.VectoCore.InputData.FileIO.JSON; using TUGraz.VectoCore.InputData.FileIO.XML; using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.DataProvider; using TUGraz.VectoCore.Models.Simulation.Impl; @@ -57,6 +58,26 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation set => SetProperty(ref _manufacturingStageViewModel, value); } + public MultiStageJobViewModel_v0_1(IMultistageBusInputDataProvider inputData, IMultiStageViewModelFactory vmFactory, IMultistageDependencies multistageDependencies, IXMLInputDataReader inputDataReader) + { + + _dataSource = inputData.DataSource; + _jobInputData = inputData.JobInputData; + _vmFactory = vmFactory; + _consolidateManufacturingStage = _jobInputData.ConsolidateManufacturingStage; + _manufacturingStages = _jobInputData.ManufacturingStages; + _primaryVehicle = _jobInputData.PrimaryVehicle; + _dialogHelper = multistageDependencies.DialogHelperLazy; + _inputDataReader = inputDataReader; + _manufacturingStageViewModel = + vmFactory.GetManufacturingStageViewModel(_consolidateManufacturingStage); + + // QUESTION: HEV/PEV ? + //var hybridElectric = inputData.PrimaryVehicleData.Vehicle.HybridElectricHDV; + //_manufacturingStageViewModel.VehicleViewModel.PrimaryVehicleHybridElectric = hybridElectric; + _multistageDependencies = multistageDependencies; + } + #region Commands @@ -244,20 +265,7 @@ namespace VECTO3GUI2020.ViewModel.MultiStage.Implementation #endregion - public MultiStageJobViewModel_v0_1(IMultistageBusInputDataProvider inputData, IMultiStageViewModelFactory vmFactory, IMultistageDependencies multistageDependencies, IXMLInputDataReader inputDataReader) - { - _dataSource = inputData.DataSource; - _jobInputData = inputData.JobInputData; - _vmFactory = vmFactory; - _consolidateManufacturingStage = _jobInputData.ConsolidateManufacturingStage; - _manufacturingStages =_jobInputData.ManufacturingStages; - _primaryVehicle = _jobInputData.PrimaryVehicle; - _dialogHelper = multistageDependencies.DialogHelperLazy; - _inputDataReader = inputDataReader; - _manufacturingStageViewModel = - vmFactory.GetManufacturingStageViewModel(_consolidateManufacturingStage); - _multistageDependencies = multistageDependencies; - } + #region Implementation of IInputDataProvider diff --git a/VECTO3GUI2020/Views/Multistage/ManufacturingStageAuxiliariesView.xaml b/VECTO3GUI2020/Views/Multistage/ManufacturingStageAuxiliariesView.xaml index 0b9e70fcc9d0f0d0b53feb6767ccb779ba5608a8..e972cb941060d91c8707fed1c2df85d903cda855 100644 --- a/VECTO3GUI2020/Views/Multistage/ManufacturingStageAuxiliariesView.xaml +++ b/VECTO3GUI2020/Views/Multistage/ManufacturingStageAuxiliariesView.xaml @@ -59,6 +59,9 @@ ListItems="{Binding HeatPumpModePassengerCompartmentAllowedValues}" ShowCheckBox="False"/> <Separator/> + <customControls:MultiStageParameter Mode="COMBOBOX" + PreviousContent="{Binding ConsolidatedInputData.PneumaticSupply.CompressorDrive}" + Content="{Binding CompressorDrive}"></customControls:MultiStageParameter> <customControls:MultiStageParameter Mode="TEXTBOX" Validation.ErrorTemplate="{DynamicResource multistageParameterControlErrorTemplate}" PreviousContent="{Binding ConsolidatedInputData.HVACAux.AuxHeaterPower}" @@ -72,16 +75,18 @@ <customControls:MultiStageParameter Mode="CHECKBOX" PreviousContent="{Binding ConsolidatedInputData.HVACAux.SeparateAirDistributionDucts}" Content="{Binding SeparateAirDistributionDucts}"/> + + <StackPanel Visibility="{Binding PrimaryVehicleHybridElectric, Converter={StaticResource BooleanToVisibilityConverter}}"> <customControls:MultiStageParameter Mode="CHECKBOX" - PreviousContent="{Binding ConsolidatedInputData.HVACAux.WaterElectricHeater}" - Content="{Binding WaterElectricHeater}"/> + PreviousContent="{Binding ConsolidatedInputData.HVACAux.WaterElectricHeater}" + Content="{Binding WaterElectricHeater}"/> <customControls:MultiStageParameter Mode="CHECKBOX" PreviousContent="{Binding ConsolidatedInputData.HVACAux.AirElectricHeater}" Content="{Binding AirElectricHeater}"/> <customControls:MultiStageParameter Mode="CHECKBOX" PreviousContent="{Binding ConsolidatedInputData.HVACAux.OtherHeatingTechnology}" Content="{Binding OtherHeatingTechnology}"/> - + </StackPanel> <Separator/> </StackPanel> </DockPanel> diff --git a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/123.xml b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/123.xml index 49f28078a4cf663438bc501f24645eba2447431f..4cd626571f94b24788bfc1e1e8649718c98f53d7 100644 --- a/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/123.xml +++ b/VectoCore/VectoCoreTest/TestData/XML/XMLReaderDeclaration/123.xml @@ -1,28 +1,55 @@ <?xml version="1.0" encoding="utf-8"?> -<tns:VectoInputDeclaration xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" schemaVersion="2.8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob V:\VectoCore\VectoCore\Resources\XSD\VectoDeclarationJob.xsd"> +<tns:VectoInputDeclaration xmlns:tns="urn:tugraz:ivt:VectoAPI:DeclarationInput:v2.0" xmlns="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.8" schemaVersion="2.8" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:v2.0="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:v2.0" xmlns:v2.3="urn:tugraz:ivt:VectoAPI:DeclarationDefinitions:DEV:v2.3" xmlns:di="http://www.w3.org/2000/09/xmldsig#" xsi:schemaLocation="urn:tugraz:ivt:VectoAPI:DeclarationJob V:\VectoCore\VectoCore\Resources\XSD\VectoDeclarationJob.xsd"> <v2.0:Vehicle id="TODO_ADDIDENTIFIER" xsi:type="InterimStageInputType"> <Manufacturer>Some Manufacturer</Manufacturer> <ManufacturerAddress>Some Manufacturer Address</ManufacturerAddress> <VIN>VEH-1234567890</VIN> - <Date>2021-05-02T22:00:00Z</Date> + <Date>2021-05-11T22:00:00Z</Date> <Model>Sample Bus Model</Model> <LegislativeCategory>M3</LegislativeCategory> <CorrectedActualMass>500</CorrectedActualMass> <TechnicalPermissibleMaximumLadenMass>3500</TechnicalPermissibleMaximumLadenMass> - <AirdragModifiedMultistage>false</AirdragModifiedMultistage> <NgTankSystem>Compressed</NgTankSystem> <ClassBus>II+III</ClassBus> - <VehicleCode>CB</VehicleCode> + <NumberPassengersLowerDeck>0</NumberPassengersLowerDeck> + <NumberPassengersUpperDeck>10</NumberPassengersUpperDeck> + <BodyworkCode>CB</BodyworkCode> <LowEntry>false</LowEntry> + <HeightIntegratedBody>2500</HeightIntegratedBody> + <VehicleLength>0</VehicleLength> + <VehicleWidth>0</VehicleWidth> + <EntranceHeight>0</EntranceHeight> <DoorDriveTechnology>electric</DoorDriveTechnology> - <DeclarationType>interim</DeclarationType> + <VehicleDeclarationType>interim</VehicleDeclarationType> <ADAS> - <v2.3:EngineStopStart>false</v2.3:EngineStopStart> + <v2.3:EngineStopStart>true</v2.3:EngineStopStart> <v2.3:EcoRollWithoutEngineStop>false</v2.3:EcoRollWithoutEngineStop> <v2.3:EcoRollWithEngineStop>false</v2.3:EcoRollWithEngineStop> <v2.3:PredictiveCruiseControl>none</v2.3:PredictiveCruiseControl> </ADAS> <Components xsi:type="CompletedVehicleComponentsDeclarationType"> + <AirDrag> + <v2.0:Data id="CabinX23h" xsi:type="v2.0:AirDragDataDeclarationType"> + <v2.0:Manufacturer>Generic Manufacturer</v2.0:Manufacturer> + <v2.0:Model>Generic Model</v2.0:Model> + <v2.0:CertificationNumber>e12*0815/8051*2017/05E0000*00</v2.0:CertificationNumber> + <v2.0:Date>2017-03-24T15:00:00Z</v2.0:Date> + <v2.0:AppVersion>Vecto AirDrag x.y</v2.0:AppVersion> + <v2.0:CdxA_0>6.31</v2.0:CdxA_0> + <v2.0:TransferredCdxA>6.32</v2.0:TransferredCdxA> + <v2.0:DeclaredCdxA>6.34</v2.0:DeclaredCdxA> + </v2.0:Data> + <v2.0:Signature> + <di:Reference URI="#CabinX23h"> + <di:Transforms> + <di:Transform Algorithm="urn:vecto:xml:2017:canonicalization" /> + <di:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" /> + </di:Transforms> + <di:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256" /> + <di:DigestValue>b9SHCfOoVrBxFQ8wwDK32OO+9bd85DuaUdgs6j/29N8=</di:DigestValue> + </di:Reference> + </v2.0:Signature> + </AirDrag> <Auxiliaries> <Data xsi:type="CompletedVehicleAuxiliaryDataDeclarationType"> <ElectricSystem>