diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/AbstractDeclarationVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/AbstractDeclarationVectoRunDataFactory.cs index dbf110ae2245df035c2951433021b0d21131f1dd..8939c26cbafce65569e4c0da2ed283847b6f6e6e 100644 --- a/VectoCore/VectoCore/InputData/Reader/Impl/AbstractDeclarationVectoRunDataFactory.cs +++ b/VectoCore/VectoCore/InputData/Reader/Impl/AbstractDeclarationVectoRunDataFactory.cs @@ -139,7 +139,7 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl { fuels = vehicle.Components.EngineInputData.EngineModes.Select(x => x.Fuels.Select(f => DeclarationData.FuelData.Lookup(f.FuelType, vehicle.TankSystem)).ToList()) .ToList(); } - Report.InitializeReport(powertrainConfig, fuels); + Report.InitializeReport(powertrainConfig, fuels, InputDataProvider); } protected virtual PTOData CreateDefaultPTOData() diff --git a/VectoCore/VectoCore/Models/Simulation/SimulationFactoryNinjectModule.cs b/VectoCore/VectoCore/Models/Simulation/SimulationFactoryNinjectModule.cs index 20cce3d9efe1c6cc84bd5e73e4c854950c63ff2d..df0140a393c1552c6d180ce2a4dde0b55aacd768 100644 --- a/VectoCore/VectoCore/Models/Simulation/SimulationFactoryNinjectModule.cs +++ b/VectoCore/VectoCore/Models/Simulation/SimulationFactoryNinjectModule.cs @@ -68,7 +68,8 @@ namespace TUGraz.VectoCore.Models.Simulation { #region Implementation of IDeclarationReport - public void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes) + public void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes, + IDeclarationInputDataProvider inputData = null) { } @@ -92,7 +93,8 @@ namespace TUGraz.VectoCore.Models.Simulation { #region Implementation of IDeclarationReport - public void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes) + public void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes, + IDeclarationInputDataProvider inputData = null) { } diff --git a/VectoCore/VectoCore/OutputData/DeclarationReport.cs b/VectoCore/VectoCore/OutputData/DeclarationReport.cs index 3aeb1536c52b7d2a9368df914bd1bbc29d44af6f..ec58eca4b01803b90bdb16e8f0409133b87e21b3 100644 --- a/VectoCore/VectoCore/OutputData/DeclarationReport.cs +++ b/VectoCore/VectoCore/OutputData/DeclarationReport.cs @@ -51,7 +51,8 @@ namespace TUGraz.VectoCore.OutputData * This methodd is called once befor creating the simulation runs with a temporary * VectoRunData instance */ - void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes); + void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes, + IDeclarationInputDataProvider inputData = null); /** * called when creating the simulation run (before starting the simulations) @@ -209,6 +210,7 @@ namespace TUGraz.VectoCore.OutputData protected abstract void WriteResult(T result); - public abstract void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes); + public abstract void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes, + IDeclarationInputDataProvider inputData = null); } } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/AbstractManufacturerReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/AbstractManufacturerReport.cs index c15a18d6b1dab750c97123cacb66b857a577cf38..35425cabf90c4a97ceef62e55cc64d5fd7776519 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/AbstractManufacturerReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/ManufacturerReport/ManufacturerReport_0_9/AbstractManufacturerReport.cs @@ -34,7 +34,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport. public void Initialize(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes) { - throw new NotImplementedException(); + } public XDocument Report { get; protected set; } diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VTPReport/XMLVTPReport.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VTPReport/XMLVTPReport.cs index c3e2338ebdb8c16e13072ea4fd625dfae4811249..2d45d072dd52d9dd7134b3d7e92ecd26f79388c3 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VTPReport/XMLVTPReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VTPReport/XMLVTPReport.cs @@ -345,7 +345,8 @@ namespace TUGraz.VectoCore.OutputData.XML return retVal; } - public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes) + public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes, + IDeclarationInputDataProvider inputData = null) { VehicleClass = modelData.VehicleData.VehicleClass; if (VehicleClass.IsBus()) { diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs index 94eb0b24302e3cb824756009de2f173d96aff83d..58b1724e041c91719c5841282473bf117a9cd9c7 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport.cs @@ -226,7 +226,8 @@ namespace TUGraz.VectoCore.OutputData.XML } - public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes) + public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes, + IDeclarationInputDataProvider inputData = null) { if (modelData.Exempted) { WeightingGroup = WeightingGroup.Unknown; @@ -247,6 +248,11 @@ namespace TUGraz.VectoCore.OutputData.XML InstantiateReports(modelData); + InitializeReports(modelData, fuelModes, inputData); + } + + protected virtual void InitializeReports(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes, IDeclarationInputDataProvider inputData) + { ManufacturerRpt.Initialize(modelData, fuelModes); CustomerRpt.Initialize(modelData, fuelModes); } diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs index 18d8a1e85ecdd895948090b3846024ae1743645a..820f4038a6b5827b9f79f1b0dbb3347fdbe45850 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs @@ -37,7 +37,8 @@ namespace TUGraz.VectoCore.OutputData.XML { }; } - public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes) + public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes, + IDeclarationInputDataProvider inputData = null) { _weightingFactors = EqualWeighting; diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportMultistageBusVehicle.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportMultistageBusVehicle.cs index c2ba05703732a8c25a4d0f5e6a8123828388ab17..850afd8c3b5bf4293aeaa615bf112268768c2769 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportMultistageBusVehicle.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportMultistageBusVehicle.cs @@ -3,6 +3,7 @@ using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; +using TUGraz.VectoCommon.InputData; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile; @@ -19,7 +20,8 @@ namespace TUGraz.VectoCore.OutputData.XML //_multistageBusReport = new XMLMultistageBusReport(); } - public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes) + public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes, + IDeclarationInputDataProvider inputData = null) { _multistageBusReport = modelData.Exempted ? new XMLMultistageExemptedBusReport() : new XMLMultistageBusReport(); diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportPrimaryVehicle.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportPrimaryVehicle.cs index 36bdb48f59d0c32501569a67a651132268576c30..8d6d135ebc7a40cac5544baa0761c08e0a22bb84 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportPrimaryVehicle.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportPrimaryVehicle.cs @@ -1,6 +1,7 @@ using System; using System.Collections.Generic; using System.Xml.Linq; +using TUGraz.VectoCommon.InputData; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile; @@ -40,7 +41,8 @@ namespace TUGraz.VectoCore.OutputData.XML { } - public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes) + public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes, + IDeclarationInputDataProvider inputData = null) { base.InitializeReport(modelData, fuelModes); PrimaryReport.Initialize(modelData,fuelModes); diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport_0_9.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport_0_9.cs index a238b5905bc418334736854187e795c30928e239..7f2294e174e2b148dc44d9add39e802a18d4ccff 100644 --- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport_0_9.cs +++ b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport_0_9.cs @@ -1,5 +1,6 @@ using System.Collections.Generic; using System.Linq; +using System.Runtime.CompilerServices; using TUGraz.VectoCommon.InputData; using TUGraz.VectoCore.Models.Declaration; using TUGraz.VectoCore.Models.Simulation.Data; @@ -7,42 +8,41 @@ using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9.CIFWriter; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport; +using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9; using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter; namespace TUGraz.VectoCore.OutputData.XML { - public class XMLDeclarationReport09 : IDeclarationReport + public class XMLDeclarationReport09 : XMLDeclarationReport { private readonly IReportWriter _writer; private readonly IManufacturerReportFactory _mrfFactory; private readonly ICustomerInformationFileFactory _cifFactory; - private IXMLManufacturerReport _manufacturerReport; - private IXMLCustomerReport _customerReport; #region Implementation of IDeclarationReport - public XMLDeclarationReport09(IReportWriter writer, IManufacturerReportFactory mrfFactory, ICustomerInformationFileFactory cifFactory) + public XMLDeclarationReport09(IReportWriter writer, IManufacturerReportFactory mrfFactory, ICustomerInformationFileFactory cifFactory) : base(writer) { _writer = writer; _mrfFactory = mrfFactory; _cifFactory = cifFactory; } - public void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes) + protected override void InstantiateReports(VectoRunData modelData) { var vehicleData = modelData.VehicleData.InputData; var iepc = vehicleData.Components.IEPC != null; var ihpc = vehicleData.Components.ElectricMachines?.Entries?.Count(e => e.ElectricMachine.IHPCType != "None") > 0; - _manufacturerReport = _mrfFactory.GetManufacturerReport(vehicleData.VehicleCategory, + ManufacturerRpt = _mrfFactory.GetManufacturerReport(vehicleData.VehicleCategory, vehicleData.VehicleType, vehicleData.ArchitectureID, vehicleData.ExemptedVehicle, iepc, ihpc); - _customerReport = _cifFactory.GetCustomerReport(vehicleData.VehicleCategory, + CustomerRpt = _cifFactory.GetCustomerReport(vehicleData.VehicleCategory, vehicleData.VehicleType, vehicleData.ArchitectureID, vehicleData.ExemptedVehicle, @@ -50,18 +50,17 @@ namespace TUGraz.VectoCore.OutputData.XML ihpc); } - public void PrepareResult(LoadingType loading, Mission mission, int fuelMode, VectoRunData runData) - { - throw new System.NotImplementedException(); - } + #region Overrides of XMLDeclarationReport - public void AddResult(LoadingType loadingType, Mission mission, int fuelMode, VectoRunData runData, - IModalDataContainer modData) + protected override void InitializeReports(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes, IDeclarationInputDataProvider inputData) { - throw new System.NotImplementedException(); + var customerReport = CustomerRpt as AbstractCustomerReport; + var manufacturerReport = ManufacturerRpt as AbstractManufacturerReport; + customerReport.InitializeVehicleData(inputData); + manufacturerReport.InitializeVehicleData(inputData); } - + #endregion #endregion }