diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/IVIFReportFactory.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/IVIFReportFactory.cs index 2bfc47b4705258956695241affac85ef0beef94a..2794eebb2cd7002341b5dde81bfbbc71fd4d6006 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/IVIFReportFactory.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/IVIFReportFactory.cs @@ -21,6 +21,9 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF IXmlTypeWriter GetHevS3VehicleType(); IXmlTypeWriter GetHevS4VehicleType(); IXmlTypeWriter GetIepcVehicleType(); + IXmlTypeWriter GetPevE2VehicleType(); + IXmlTypeWriter GetPevE3VehicleType(); + IXmlTypeWriter GetPevE4VehicleType(); #endregion @@ -78,7 +81,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF IReportOutputGroup GetHevIepcSVehicleParameterGroup(); IReportOutputGroup GetHevSxVehicleParameterGroup(); IReportOutputGroup GetIepcVehicleParameterGroup(); - IReportOutputGroup GetPevVehicleParmeterGroup(); + IReportOutputGroup GetPevExVehicleParmeterGroup(); IReportOutputGroup GetHevPxVehicleParameterGroup(); #endregion diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs index 50fb47973d4d33e1a34a160db3634f2f737983dd..604f9e9b5a958150a4e435922e39897a9e91c4ee 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VIFNinjectModule.cs @@ -22,8 +22,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF #region VehicleTypes - - + Bind<IXmlTypeWriter>().To<ConventionalVehicleType>().When(AccessedViaVIFFactory) .NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetConventionalVehicleType()); @@ -44,7 +43,16 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF Bind<IXmlTypeWriter>().To<IepcVehicleType>().When(AccessedViaVIFFactory) .NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetIepcVehicleType()); - + + Bind<IXmlTypeWriter>().To<PevE2VehicleType>().When(AccessedViaVIFFactory) + .NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetPevE2VehicleType()); + + Bind<IXmlTypeWriter>().To<PevE3VehicleType>().When(AccessedViaVIFFactory) + .NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetPevE3VehicleType()); + + Bind<IXmlTypeWriter>().To<PevE4VehicleType>().When(AccessedViaVIFFactory) + .NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetPevE4VehicleType()); + #endregion @@ -108,8 +116,8 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF Bind<IReportOutputGroup>().To<IepcVehicleParameterGroup>().When(AccessedViaVIFFactory) .NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetIepcVehicleParameterGroup()); - Bind<IReportOutputGroup>().To<PevVehicleParameterGroup>().When(AccessedViaVIFFactory) - .NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetPevVehicleParmeterGroup()); + Bind<IReportOutputGroup>().To<PevExVehicleParameterGroup>().When(AccessedViaVIFFactory) + .NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetPevExVehicleParmeterGroup()); Bind<IReportOutputGroup>().To<HevPxVehicleParameterGroup>().When(AccessedViaVIFFactory) .NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetHevPxVehicleParameterGroup()); @@ -160,8 +168,7 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF Bind<IXmlTypeWriter>().To<VIFElectricMachineType>().When(AccessedViaVIFFactory) .NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetElectricMachineType()); - - + Bind<IXmlTypeWriter>().To<VIFElectricMotorTorqueLimitsType>().When(AccessedViaVIFFactory) .NamedLikeFactoryMethod((IVIFReportFactory f) => f.GetElectricMotorTorqueLimitsType()); diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VehicleWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VehicleWriter.cs index 02019fcd416edfb9b636ace04b4daf6a613dcbbe..f230a63d2efaad3801c72987f9c0ac8eb073b6f1 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VehicleWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/VehicleInformationFile/VehicleInformationFile_0_1/VehicleWriter.cs @@ -165,4 +165,62 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationF #endregion } + + + public class PevE2VehicleType : VehicleWriter + { + public PevE2VehicleType(IVIFReportFactory vifReportFactory) : base(vifReportFactory) { } + + #region Overrides of VehicleWriter + + public override XElement GetElement(IDeclarationInputDataProvider inputData) + { + var vehicleData = _vifReportFactory.GetPevExVehicleParmeterGroup().GetElements(inputData); + vehicleData.Add(_vifReportFactory.GetPevE2ComponentVIFType().GetElement(inputData)); + + return new XElement(_vif + XMLNames.Component_Vehicle, + new XAttribute(_xsi + "type", "vif:PEV_Ex_VehicleVIFType"), + vehicleData); + } + + #endregion + } + + public class PevE3VehicleType : VehicleWriter + { + public PevE3VehicleType(IVIFReportFactory vifReportFactory) : base(vifReportFactory) { } + + #region Overrides of VehicleWriter + + public override XElement GetElement(IDeclarationInputDataProvider inputData) + { + var vehicleData = _vifReportFactory.GetPevExVehicleParmeterGroup().GetElements(inputData); + vehicleData.Add(_vifReportFactory.GetPevE3ComponentVIFType().GetElement(inputData)); + + return new XElement(_vif + XMLNames.Component_Vehicle, + new XAttribute(_xsi + "type", "vif:PEV_Ex_VehicleVIFType"), + vehicleData); + } + + #endregion + } + + public class PevE4VehicleType : VehicleWriter + { + public PevE4VehicleType(IVIFReportFactory vifReportFactory) : base(vifReportFactory) { } + + #region Overrides of VehicleWriter + + public override XElement GetElement(IDeclarationInputDataProvider inputData) + { + var vehicleData = _vifReportFactory.GetPevExVehicleParmeterGroup().GetElements(inputData); + vehicleData.Add(_vifReportFactory.GetPevE4ComponentVIFType().GetElement(inputData)); + + return new XElement(_vif + XMLNames.Component_Vehicle, + new XAttribute(_xsi + "type", "vif:PEV_Ex_VehicleVIFType"), + vehicleData); + } + + #endregion + } }