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

Skip to content
Snippets Groups Projects
Commit 44e9a50b authored by Harald Martini's avatar Harald Martini
Browse files

added primaryvehiclesubgroup to mrf

parent 8d1192c5
No related branches found
No related tags found
No related merge requests found
using System;
using System.Linq;
using System.Xml.Linq;
using TUGraz.VectoCommon.Exceptions;
using TUGraz.VectoCommon.Models;
using TUGraz.VectoCommon.Resources;
namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
......@@ -19,6 +21,24 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
}
protected XNamespace TNS { get; }
protected XElement GetPrimaryBusSubGroupElement(IResultEntry entry)
{
if (entry.VehicleClass.IsBus())
{
//busSubGroup
var primarySubGroup = entry.VehicleClass;
if (!primarySubGroup.IsPrimaryBus())
{
throw new VectoException($"Expected Primary Bus but was {primarySubGroup}");
}
return new XElement(TNS + XMLNames.Report_Results_PrimaryVehicleSubgroup, primarySubGroup.ToXML());
}
return null;
}
}
......@@ -30,11 +50,15 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
public override XElement GetElement(IResultEntry entry)
{
return new XElement(TNS + XMLNames.Report_Result_Result,
return new XElement(TNS + XMLNames.Report_Result_Result,
new XAttribute(XMLNames.Report_Result_Status_Attr, XMLNames.Report_Results_Status_Success_Val),
new XAttribute(xsi + XMLNames.XSIType, ResultXMLType),
_factory.GetSuccessMissionWriter(_factory, TNS).GetElement(entry),
SimulationParameterWriter.GetElement(entry),
GetPrimaryBusSubGroupElement(entry),
ResultTotalWriter.GetElement(entry)
);
}
......@@ -212,11 +236,14 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common
public override XElement GetElement(IOVCResultEntry entry)
{
var primarySubGroup = entry.ChargeDepletingResult.VehicleClass;
return new XElement(TNS + XMLNames.Report_Result_Result,
new XAttribute(XMLNames.Report_Result_Status_Attr, XMLNames.Report_Results_Status_Success_Val),
new XAttribute(xsi + XMLNames.XSIType, ResultXMLType),
_factory.GetSuccessMissionWriter(_factory, TNS).GetElement(entry.ChargeDepletingResult),
_factory.GetBusSimulationParameterWriter(_factory, TNS).GetElement(entry.ChargeDepletingResult),
GetPrimaryBusSubGroupElement(entry.ChargeSustainingResult),
_factory.GetBusHEVOVCResultWriterChargeDepleting(_factory, TNS).GetElement(entry.ChargeDepletingResult),
_factory.GetBusHEVOVCResultWriterChargeSustaining(_factory, TNS).GetElement(entry.ChargeSustainingResult),
_factory.GetBusHEVOVCTotalWriter(_factory, TNS).GetElement(entry)
......
......@@ -177,7 +177,9 @@ namespace TUGraz.VectoCore.OutputData.XML
result.Payload = specific.Payload;
result.PassengerCount = specific.PassengerCount;
result.VehicleClass = primary.VehicleGroup;
result.WeightingFactor = specific.WeightingFactor;
result.FuelMode = specific.FuelMode;
result.LoadingType = specific.LoadingType;
///Factor for each fuel
/// Factor for electric Energy Consumption
......@@ -248,11 +250,8 @@ namespace TUGraz.VectoCore.OutputData.XML
{
result.ZEV_FuelConsumption_AuxHtr = specific.ZEV_FuelConsumption_AuxHtr;
var auxHeaterFuel = specific.AuxHeaterFuel;
result.AuxHeaterFuel = auxHeaterFuel;
result.FuelData.Add(auxHeaterFuel);
result.ZEV_CO2 = result.ZEV_FuelConsumption_AuxHtr * auxHeaterFuel.CO2PerFuelWeight;
result.ZEV_CO2 = result.ZEV_FuelConsumption_AuxHtr * auxHeaterFuel.CO2PerFuelWeight;
}
......@@ -284,13 +283,15 @@ namespace TUGraz.VectoCore.OutputData.XML
throw new NotImplementedException();
}
public VectoRunData VectoRunData { get; }
public VectoRunData VectoRunData => throw new NotImplementedException();
public VectoRun.Status Status { get; set; }
public OvcHevMode OVCMode { get; set; }
public MissionType Mission { get; set; }
public LoadingType LoadingType { get; }
public int FuelMode { get; }
public IList<IFuelProperties> FuelData { get; set; }
public LoadingType LoadingType { get; set; }
public int FuelMode { get; set; }
public IList<IFuelProperties> FuelData { get; set; }
public MeterPerSecond AverageSpeed { get; set; }
public MeterPerSecond AverageDrivingSpeed { get; set; }
public MeterPerSecond MaxSpeed { get; set; }
......@@ -322,7 +323,7 @@ namespace TUGraz.VectoCore.OutputData.XML
public double? PassengerCount { get; set; }
public VehicleClass VehicleClass { get; set; }
public Watt MaxChargingPower { get; }
public double WeightingFactor { get; }
public double WeightingFactor { get; set; }
public Meter ActualChargeDepletingRange { get; set; }
public Meter EquivalentAllElectricRange { get; set; }
public Meter ZeroCO2EmissionsRange { get; set; }
......
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