Code development platform for open source projects from the European Union institutions

Skip to content
Snippets Groups Projects
Commit 10e1c72e authored by Markus Quaritsch's avatar Markus Quaritsch
Browse files

re-adding IEPC class, adding missing retarder type file

parent a560e1a8
No related branches found
No related tags found
No related merge requests found
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Linq;
using TUGraz.VectoCommon.InputData;
using TUGraz.VectoCommon.Resources;
using TUGraz.VectoCommon.Utils;
namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter.Components
{
internal class MrfiepcSpecificationsTypeWriter : AbstractMrfXmlType, IXmlTypeWriter
{
public MrfiepcSpecificationsTypeWriter(IManufacturerReportFactory mrfFactory) : base(mrfFactory) { }
#region Overrides of AbstractMrfXmlType
public XElement GetElement(IDeclarationInputDataProvider inputData)
{
var iepcData = inputData.JobInputData.Vehicle.Components.IEPC;
var iepcXElement = new XElement(_mrf + "IEPCSpecifications",
new XElement(_mrf + XMLNames.Component_Model, iepcData.Model),
new XElement(_mrf + XMLNames.Component_CertificationNumber, iepcData.CertificationNumber),
new XElement(_mrf + XMLNames.DI_Signature_Reference_DigestValue, iepcData.DigestValue?.DigestValue ?? ""),
new XElement(_mrf + XMLNames.Engine_RatedPower, iepcData.R85RatedPower.ToXMLFormat()));
//new XElement(_mrf + "MaxContinuousPower",(iepcData.ContinuousTorque*iepcData.ContinuousTorqueSpeed).ToXMLFormat()),
var voltageLevels = new XElement(_mrf + "VoltageLevels");
iepcXElement.Add(voltageLevels);
foreach (var electricMotorVoltageLevel in iepcData.VoltageLevels) {
var voltageLevel = new XElement(_mrf + XMLNames.ElectricMachine_VoltageLevel,
new XAttribute("voltage", electricMotorVoltageLevel.VoltageLevel.ToXMLFormat(0)),
new XElement(_mrf + "MaxContinuousPower",
(electricMotorVoltageLevel.ContinuousTorque * electricMotorVoltageLevel.ContinuousTorqueSpeed)
.ToXMLFormat(0)));
voltageLevels.Add(voltageLevel);
}
iepcXElement.Add(
new XElement(_mrf + "NrOfGears", iepcData.Gears.Count),
new XElement(_mrf + "LowestTotalTransmissionRatio", (iepcData.Gears.OrderByDescending(g => g.GearNumber).First().Ratio
* inputData.JobInputData.Vehicle.Components.AxleGearInputData.Ratio).ToXMLFormat(3)),
new XElement(_mrf + XMLNames.IEPC_DifferentialIncluded, iepcData.DifferentialIncluded),
new XElement(_mrf + XMLNames.Component_CertificationMethod, iepcData.CertificationMethod)
);
return iepcXElement;
}
#endregion
}
}
using System.Xml;
using System.Xml.Linq;
using TUGraz.VectoCommon.InputData;
using TUGraz.VectoCommon.Models;
using TUGraz.VectoCommon.Resources;
using TUGraz.VectoCommon.Utils;
using TUGraz.VectoCore.OutputData.XML.DeclarationReports.ManufacturerReport.ManufacturerReport_0_9.ManufacturerReportXMLTypeWriter;
namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.VehicleInformationFile.VehicleInformationFile_0_1.Components
{
public class VIFRetarderType : AbstractVIFXmlType, IXmlTypeWriter
{
public VIFRetarderType(IVIFReportFactory vifFactory) : base(vifFactory) { }
#region Implementation of IXmlTypeWriter
public XElement GetElement(IDeclarationInputDataProvider inputData)
{
var retarder = inputData.JobInputData.Vehicle.Components.RetarderInputData;
if (retarder == null || retarder.Type.IsOneOf(RetarderType.EngineRetarder, RetarderType.None,
RetarderType.LossesIncludedInTransmission))
return null;
return new XElement(_vif + XMLNames.Component_Retarder,
new XElement(_vif + XMLNames.ComponentDataWrapper,
new XAttribute(_xsi + XMLNames.XSIType, "RetarderDataVIFType"),
new XElement(_vif + XMLNames.Component_Manufacturer, retarder.Manufacturer),
new XElement(_vif + XMLNames.Component_Model, retarder.Model),
new XElement(_vif + XMLNames.Component_CertificationMethod, retarder.CertificationMethod.ToXMLFormat()),
retarder.CertificationMethod == CertificationMethod.StandardValues
? null
: new XElement(_vif + XMLNames.Report_Component_CertificationNumber,
retarder.CertificationNumber),
new XElement(_vif + XMLNames.Component_Date,
XmlConvert.ToString(retarder.Date, XmlDateTimeSerializationMode.Utc)),
new XElement(_vif + XMLNames.Component_AppVersion, retarder.AppVersion),
new XElement(_vif + XMLNames.Vehicle_RetarderRatio, retarder.Ratio.ToXMLFormat(3))
));
}
#endregion
}
}
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment