diff --git a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ElectricEnergyWriter.cs b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ElectricEnergyWriter.cs index 5b423bf01249426f105666c735682a851cf9bd5e..20b634257df4c3593332d38199550861dac07f13 100644 --- a/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ElectricEnergyWriter.cs +++ b/VectoCore/VectoCore/OutputData/XML/DeclarationReports/Common/ElectricEnergyWriter.cs @@ -49,16 +49,23 @@ namespace TUGraz.VectoCore.OutputData.XML.DeclarationReports.Common protected override IList<ConvertedSI> GetEnergyConsumption(WattSecond elEnergy, Meter distance, Kilogram payload, CubicMeter volume, double? passengers) - { - return new[] { - (elEnergy / distance).ConvertToKiloWattHourPerKiloMeter(), - (elEnergy / distance / payload).ConvertToKiloWattHourPerTonKiloMeter(), - (elEnergy / distance / volume).ConvertToKiloWattHourPerCubicMeterKiloMeter(), - - (elEnergy / distance).ConvertToMegaJoulePerKiloMeter(), - (elEnergy / distance / payload).ConvertToMegaJoulePerTonKiloMeter(), - (elEnergy / distance / volume).ConvertToMegaJoulePerCubicMeterKiloMeter(), - }; + { + var retVal = new List<ConvertedSI>() { + (elEnergy / distance).ConvertToKiloWattHourPerKiloMeter(), + (elEnergy / distance / payload).ConvertToKiloWattHourPerTonKiloMeter(), + }; + if (volume?.IsGreater(0) ?? false) { + retVal.Add((elEnergy / distance / volume).ConvertToKiloWattHourPerCubicMeterKiloMeter()); + } + + retVal.AddRange(new[] { + (elEnergy / distance).ConvertToMegaJoulePerKiloMeter(), + (elEnergy / distance / payload).ConvertToMegaJoulePerTonKiloMeter() + }); + if (volume?.IsGreater(0) ?? false){ + retVal.Add((elEnergy / distance / volume).ConvertToMegaJoulePerCubicMeterKiloMeter()); + } + return retVal; } #endregion