diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs deleted file mode 100644 index c6a51d32a25b3cefe8ac445cd7204a6617795393..0000000000000000000000000000000000000000 --- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportCompletedVehicle.cs +++ /dev/null @@ -1,107 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using TUGraz.VectoCommon.Exceptions; -using TUGraz.VectoCommon.InputData; -using TUGraz.VectoCommon.Models; -using TUGraz.VectoCore.Models.Declaration; -using TUGraz.VectoCore.Models.Simulation.Data; -using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile; -using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport; - -namespace TUGraz.VectoCore.OutputData.XML { - public class XMLDeclarationReportCompletedVehicle : XMLDeclarationReport - { - public XMLDeclarationReportCompletedVehicle(IReportWriter writer) : base(writer) { } - - public IPrimaryVehicleInformationInputDataProvider PrimaryVehicleReportInputData { get; set; } - - #region Overrides of XMLDeclarationReport - - - protected override void InstantiateReports(VectoRunData modelData) - { - ManufacturerRpt = modelData.Exempted - ? new XMLManufacturerReportExemptedCompletedBus() { - PrimaryVehicleRecordFile = PrimaryVehicleReportInputData - } - : new XMLManufacturerReportCompletedBus() { - PrimaryVehicleRecordFile = PrimaryVehicleReportInputData - }; - CustomerRpt = modelData.Exempted - ? new XMLCustomerReportExemptedCompletedBus() { - PrimaryVehicleRecordFile = PrimaryVehicleReportInputData - } - : new XMLCustomerReportCompletedBus() { - PrimaryVehicleRecordFile = PrimaryVehicleReportInputData - }; - } - - public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes) - { - _weightingFactors = EqualWeighting; - - InstantiateReports(modelData); - - ManufacturerRpt.Initialize(modelData, fuelModes); - CustomerRpt.Initialize(modelData, fuelModes); - } - #endregion - - private static IDictionary<Tuple<MissionType, LoadingType>, double> EqualWeighting => - new ReadOnlyDictionary<Tuple<MissionType, LoadingType>, double>( - new Dictionary<Tuple<MissionType, LoadingType>, double>() { - { Tuple.Create(MissionType.LongHaul, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.LongHaul, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.RegionalDelivery, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.RegionalDelivery, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.UrbanDelivery, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.UrbanDelivery, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.LongHaulEMS, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.LongHaulEMS, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.RegionalDeliveryEMS, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.RegionalDeliveryEMS, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.MunicipalUtility, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.MunicipalUtility, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.Construction, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.Construction, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.HeavyUrban, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.HeavyUrban, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.Urban, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.Urban, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.Suburban, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.Suburban, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.Interurban, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.Interurban, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.Coach, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.Coach, LoadingType.ReferenceLoad), 1 }, - }); - - protected internal override void DoWriteReport() - { - foreach (var specificResult in Results.Where(x => VehicleClassHelper.IsCompletedBus(x.VehicleClass)).OrderBy(x => x.VehicleClass) - .ThenBy(x => x.FuelMode).ThenBy(x => x.Mission)) { - - var genericResult = Results.First(x => x.VehicleClass.IsPrimaryBus() && x.FuelMode == specificResult.FuelMode && - x.Mission == specificResult.Mission && x.LoadingType == specificResult.LoadingType); - var primaryResult = genericResult.PrimaryResult ?? specificResult.PrimaryResult; - if (primaryResult == null) { - throw new VectoException( - "no primary result entry set for simulation run vehicle class: {0}, mission: {1}, payload: {2}", - genericResult.VehicleClass, genericResult.Mission, genericResult.Payload); - } - - (ManufacturerRpt as XMLManufacturerReportCompletedBus).WriteResult(genericResult, specificResult, primaryResult); - (CustomerRpt as XMLCustomerReportCompletedBus).WriteResult(genericResult, specificResult, primaryResult); - } - - GenerateReports(); - - if (Writer != null) { - OutputReports(); - } - } - - } -} \ No newline at end of file diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportPrimaryVehicle.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportPrimaryVehicle.cs deleted file mode 100644 index 7eccef8f379a42087ea1064bf4104b36150b4429..0000000000000000000000000000000000000000 --- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReportPrimaryVehicle.cs +++ /dev/null @@ -1,76 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Xml.Linq; -using TUGraz.VectoCore.Models.Declaration; -using TUGraz.VectoCore.Models.Simulation.Data; -using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile; -using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport; -using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile; - -namespace TUGraz.VectoCore.OutputData.XML { - public class XMLDeclarationReportPrimaryVehicle : XMLDeclarationReport - { - protected IXMLVehicleInformationFile VehicleInformationFile; - - - public XMLDeclarationReportPrimaryVehicle(IReportWriter writer) : base(writer) - { - } - - public override XDocument CustomerReport => null; - - public override XDocument PrimaryVehicleReport => VehicleInformationFile?.Report; - - - #region Overrides of XMLDeclarationReport - - protected override void InstantiateReports(VectoRunData modelData) - { - if (modelData.Exempted) { - ManufacturerRpt = new XMLManufacturerReportExeptedPrimaryBus(); - CustomerRpt = new XMLCustomerReportExemptedPrimaryBus(); - VehicleInformationFile = new XMLExemptedPrimaryBusVehicleReport(); - - } else { - ManufacturerRpt = new XMLManufacturerReportPrimaryBus(); - CustomerRpt = new XMLCustomerReport(); - VehicleInformationFile = new XMLPrimaryBusVehicleReport(); - } - - - } - - public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes) - { - base.InitializeReport(modelData, fuelModes); - VehicleInformationFile.Initialize(modelData,fuelModes); - } - - - - protected override void WriteResult(ResultEntry result) - { - base.WriteResult(result); - VehicleInformationFile.WriteResult(result); - } - - protected override void GenerateReports() - { - ManufacturerRpt.GenerateReport(); - var fullReportHash = GetSignature(ManufacturerRpt.Report); - CustomerRpt.GenerateReport(fullReportHash); - VehicleInformationFile.GenerateReport(fullReportHash); - } - - - - protected override void OutputReports() - { - Writer.WriteReport(ReportType.DeclarationReportManufacturerXML, ManufacturerRpt.Report); - Writer.WriteReport(ReportType.DeclarationReportPrimaryVehicleXML, VehicleInformationFile.Report); - } - - #endregion - - } -} \ No newline at end of file diff --git a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport_0_9.cs b/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport_0_9.cs deleted file mode 100644 index a23a070da29e6359101524eacc56de2ba86ebbc8..0000000000000000000000000000000000000000 --- a/VectoCore/VectoCore/OutputData/XML/XMLDeclarationReport_0_9.cs +++ /dev/null @@ -1,341 +0,0 @@ -using System; -using System.Collections.Generic; -using System.Collections.ObjectModel; -using System.Linq; -using System.Xml.Linq; -using TUGraz.VectoCommon.Models; -using TUGraz.VectoCommon.Exceptions; -using TUGraz.VectoCommon.InputData; -using TUGraz.VectoCore.InputData.FileIO.XML.Declaration.Interfaces; -using TUGraz.VectoCore.Models.Declaration; -using TUGraz.VectoCore.Models.Simulation.Data; -using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile; -using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport; -using TUGraz.VectoCore.OutputData.XML.DeclarationReports.CustomerInformationFile.CustomerInformationFile_0_9; -using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter; -using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile; -using TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1; - -namespace TUGraz.VectoCore.OutputData.XML -{ - /// <summary> - /// Create MRF and VIF for primary bus - /// </summary> - public class XMLDeclarationReportPrimaryVehicle_09 : XMLDeclarationReport - { - private readonly IVIFReportFactory _vifFactory; - - protected IXMLVehicleInformationFile VehicleInformationFile; - - - public override XDocument CustomerReport => null; - - public override XDocument PrimaryVehicleReport => VehicleInformationFile?.Report; - - #region constructors - public XMLDeclarationReportPrimaryVehicle_09(IReportWriter writer) : base(writer) - { - } - public XMLDeclarationReportPrimaryVehicle_09(IReportWriter writer, - IManufacturerReportFactory mrfFactory, - IVIFReportFactory vifFactory) : base(writer, mrfFactory, null) - { - - _vifFactory = vifFactory; - } - - #endregion - - - #region Overrides of XMLDeclarationReport - 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; - - ManufacturerRpt = _mrfFactory.GetManufacturerReport(vehicleData.VehicleCategory, - vehicleData.VehicleType, - vehicleData.ArchitectureID, - vehicleData.ExemptedVehicle, - iepc, - ihpc); - - VehicleInformationFile = _vifFactory.GetVIFReport(vehicleData.VehicleCategory, - vehicleData.VehicleType, - vehicleData.ArchitectureID, - vehicleData.ExemptedVehicle, - iepc, - ihpc); - - - - - } - public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes) - { - base.InitializeReport(modelData, fuelModes); - VehicleInformationFile.Initialize(modelData, fuelModes); - } - protected override void WriteResult(ResultEntry result) - { - base.WriteResult(result); - VehicleInformationFile.WriteResult(result); - } - - protected override void GenerateReports() - { - ManufacturerRpt.GenerateReport(); - var fullReportHash = GetSignature(ManufacturerRpt.Report); - CustomerRpt.GenerateReport(fullReportHash); - VehicleInformationFile.GenerateReport(fullReportHash); - } - - - - protected override void OutputReports() - { - Writer.WriteReport(ReportType.DeclarationReportManufacturerXML, ManufacturerRpt.Report); - Writer.WriteReport(ReportType.DeclarationReportPrimaryVehicleXML, VehicleInformationFile.Report); - } - #endregion - } - - // -------------------------------------------------- - - /// <summary> - /// Create VIF of an interim (or the complete(d) step - /// </summary> - public class XMLDeclarationReportInterimVehicle_09 : XMLDeclarationReport - { - protected readonly IVIFReportFactory _vifFactory; - - protected IXMLMultistepIntermediateReport MultistepIntermediateBusReport; - protected readonly IVIFReportInterimFactory _interimFactory; - - public XMLDeclarationReportInterimVehicle_09(IReportWriter writer, - IManufacturerReportFactory mrfFactory, - ICustomerInformationFileFactory cifFactory, - IVIFReportFactory vifFactory, IVIFReportInterimFactory interimFactory) : base(writer) - { - _vifFactory = vifFactory; - _interimFactory = interimFactory; - } - - #region Overrides of XMLDeclarationReport - - 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; - - MultistepIntermediateBusReport = _interimFactory.GetInterimVIFReport(vehicleData.VehicleCategory, - vehicleData.VehicleType, - vehicleData.ArchitectureID, - vehicleData.ExemptedVehicle, - iepc, - ihpc); - } - - #endregion - - public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes) - { - //_multistageBusReport = - // modelData.Exempted ? new XMLMultistageExemptedBusReport() : new XMLMultistageBusReport(); - - InstantiateReports(modelData); - - MultistepIntermediateBusReport.Initialize(modelData); - } - - protected override void GenerateReports() - { - MultistepIntermediateBusReport.GenerateReport(); - } - - protected override void OutputReports() - { - Writer.WriteReport(ReportType.DeclarationReportMultistageVehicleXML, MultistepIntermediateBusReport.Report); - } - - protected override void DoStoreResult(ResultEntry entry, VectoRunData runData, IModalDataContainer modData) - { - throw new NotSupportedException(); - } - protected override void WriteResult(ResultEntry result) - { - throw new NotSupportedException(); - } - } - - - // -------------------------------------------------- - - /// <summary> - /// Create MRF and CIF of the complete(d) step - /// </summary> - public class XMLDeclarationReportCompletedVehicle_09 : XMLDeclarationReport - { - - - #region Constructors - //public XMLDeclarationReportCompletedVehicle_09(IReportWriter writer) : base(writer) { } - public XMLDeclarationReportCompletedVehicle_09(IReportWriter writer, IManufacturerReportFactory mrfFactory, - ICustomerInformationFileFactory cifFactory, - IVIFReportFactory vifFactory) : base(writer, mrfFactory, cifFactory) - { - } - - #endregion - - public IPrimaryVehicleInformationInputDataProvider PrimaryVehicleReportInputData { get; set; } - - #region Overrides of XMLDeclarationReportCompletedVehicle - - protected override void InstantiateReports(VectoRunData modelData) - { - var inputData = modelData.InputData as IXMLMultistageInputDataProvider; - var primaryVehicle = inputData.JobInputData.PrimaryVehicle.Vehicle; - - var ihpc = (primaryVehicle.Components?.ElectricMachines?.Entries)?.Count(electric => electric.ElectricMachine.IHPCType != "None") > 0; - var iepc = (primaryVehicle.Components?.IEPC != null); - ManufacturerRpt = _mrfFactory.GetManufacturerReport( - inputData.JobInputData.ConsolidateManufacturingStage.Vehicle.VehicleCategory, - inputData.JobInputData.JobType, - primaryVehicle.ArchitectureID, - primaryVehicle.ExemptedVehicle, - iepc, - ihpc); - - CustomerRpt = _cifFactory.GetCustomerReport( - inputData.JobInputData.ConsolidateManufacturingStage.Vehicle.VehicleCategory, - inputData.JobInputData.JobType, - primaryVehicle.ArchitectureID, - primaryVehicle.ExemptedVehicle, - iepc, - ihpc); - - } - public override void InitializeReport(VectoRunData modelData, List<List<FuelData.Entry>> fuelModes) - { - _weightingFactors = EqualWeighting; - - InstantiateReports(modelData); - - ManufacturerRpt.Initialize(modelData, fuelModes); - CustomerRpt.Initialize(modelData, fuelModes); - } - #endregion - - - - private static IDictionary<Tuple<MissionType, LoadingType>, double> EqualWeighting => - new ReadOnlyDictionary<Tuple<MissionType, LoadingType>, double>( - new Dictionary<Tuple<MissionType, LoadingType>, double>() { - { Tuple.Create(MissionType.LongHaul, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.LongHaul, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.RegionalDelivery, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.RegionalDelivery, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.UrbanDelivery, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.UrbanDelivery, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.LongHaulEMS, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.LongHaulEMS, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.RegionalDeliveryEMS, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.RegionalDeliveryEMS, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.MunicipalUtility, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.MunicipalUtility, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.Construction, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.Construction, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.HeavyUrban, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.HeavyUrban, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.Urban, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.Urban, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.Suburban, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.Suburban, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.Interurban, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.Interurban, LoadingType.ReferenceLoad), 1 }, - { Tuple.Create(MissionType.Coach, LoadingType.LowLoading), 1 }, - { Tuple.Create(MissionType.Coach, LoadingType.ReferenceLoad), 1 }, - }); - - protected internal override void DoWriteReport() - { - foreach (var specificResult in Results.Where(x => VehicleClassHelper.IsCompletedBus(x.VehicleClass)).OrderBy(x => x.VehicleClass) - .ThenBy(x => x.FuelMode).ThenBy(x => x.Mission)) - { - - var genericResult = Results.First(x => x.VehicleClass.IsPrimaryBus() && x.FuelMode == specificResult.FuelMode && - x.Mission == specificResult.Mission && x.LoadingType == specificResult.LoadingType); - var primaryResult = genericResult.PrimaryResult ?? specificResult.PrimaryResult; - if (primaryResult == null) - { - throw new VectoException( - "no primary result entry set for simulation run vehicle class: {0}, mission: {1}, payload: {2}", - genericResult.VehicleClass, genericResult.Mission, genericResult.Payload); - } - - (ManufacturerRpt as XMLManufacturerReportCompletedBus).WriteResult(genericResult, specificResult, primaryResult); - (CustomerRpt as XMLCustomerReportCompletedBus).WriteResult(genericResult, specificResult, primaryResult); - } - - GenerateReports(); - - if (Writer != null) - { - OutputReports(); - } - } - - } - // -------------------------------------------------- - - /// <summary> - /// Create MRF and CIF for lorries - /// </summary> - public class XMLDeclarationReport09 : XMLDeclarationReport - { - private readonly IManufacturerReportFactory _mrfFactory; - private readonly ICustomerInformationFileFactory _cifFactory; - - - - public XMLDeclarationReport09(IReportWriter writer, IManufacturerReportFactory mrfFactory, ICustomerInformationFileFactory cifFactory) : base(writer) - { - _mrfFactory = mrfFactory; - _cifFactory = cifFactory; - } - - 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; - - ManufacturerRpt = _mrfFactory.GetManufacturerReport(vehicleData.VehicleCategory, - vehicleData.VehicleType, - vehicleData.ArchitectureID, - vehicleData.ExemptedVehicle, - iepc, - ihpc); - CustomerRpt = _cifFactory.GetCustomerReport(vehicleData.VehicleCategory, - vehicleData.VehicleType, - vehicleData.ArchitectureID, - vehicleData.ExemptedVehicle, - iepc, - ihpc); - } - - - - - - - - } - -} \ No newline at end of file