diff --git a/VectoCore/VectoCore/Models/Declaration/Mission.cs b/VectoCore/VectoCore/Models/Declaration/Mission.cs index 51f11b45b0fe23efbb79d6336928b2a3086ef521..0c59348141f39b7aceb8995f5afd25102d78abbe 100644 --- a/VectoCore/VectoCore/Models/Declaration/Mission.cs +++ b/VectoCore/VectoCore/Models/Declaration/Mission.cs @@ -65,23 +65,21 @@ namespace TUGraz.VectoCore.Models.Declaration public MissionType MissionType; public string CrossWindCorrectionParameters; public double[] AxleWeightDistribution; - public double TrailerAxleWeightShare; + public Kilogram CurbWeight; public Kilogram BodyCurbWeight; public Kilogram BodyGrossVehicleWeight; - public TrailerType TrailerType; - public Kilogram TrailerCurbWeight; - public Kilogram TrailerGrossVehicleWeight; - public List<Wheels.Entry> TrailerWheels; + public Stream CycleFile; - public SquareMeter DeltaCdA; + + public List<MissionTrailer> Trailer; public Kilogram MinLoad; public Kilogram RefLoad; public Kilogram MaxLoad; - public CubicMeter CargoVolume; + public CubicMeter TotalCargoVolume; public Dictionary<LoadingType, Kilogram> Loadings { @@ -95,11 +93,34 @@ namespace TUGraz.VectoCore.Models.Declaration } } + public class MissionTrailer + { + public TrailerType TrailerType; + public Kilogram TrailerCurbWeight; + public Kilogram TrailerGrossVehicleWeight; + public List<Wheels.Entry> TrailerWheels; + public double TrailerAxleWeightShare; + public SquareMeter DeltaCdA; + public CubicMeter CargoVolume; + } + public enum TrailerType { - None, + //None, T1, T2, - ST1 + ST1, + Dolly + } + + public static class TrailterTypeHelper + { + public static TrailerType Parse(string trailer) + { + if ("d".Equals(trailer, StringComparison.InvariantCultureIgnoreCase)) { + return TrailerType.Dolly; + } + return trailer.ParseEnum<TrailerType>(); + } } } \ No newline at end of file diff --git a/VectoCore/VectoCore/Models/Declaration/MissionType.cs b/VectoCore/VectoCore/Models/Declaration/MissionType.cs index 8ccc72b7b96b46651a1bcafc2cd0b158713f896a..8052e790aacd5dd04aef165f11b3af26988d5f32 100644 --- a/VectoCore/VectoCore/Models/Declaration/MissionType.cs +++ b/VectoCore/VectoCore/Models/Declaration/MissionType.cs @@ -34,7 +34,9 @@ namespace TUGraz.VectoCore.Models.Declaration public enum MissionType { LongHaul, + LongHaulEMS, RegionalDelivery, + RegionalDeliveryEMS, UrbanDelivery, MunicipalUtility, Construction, @@ -51,5 +53,21 @@ namespace TUGraz.VectoCore.Models.Declaration { return self.ToString().ToLowerInvariant(); } + + public static bool IsEMS(this MissionType self) + { + return self == MissionType.LongHaulEMS || self == MissionType.RegionalDeliveryEMS; + } + + public static MissionType GetNonEMSMissionType(this MissionType self) + { + if (self == MissionType.LongHaulEMS) { + return MissionType.LongHaul; + } + if (self == MissionType.RegionalDeliveryEMS) { + return MissionType.RegionalDelivery; + } + return self; + } } } \ No newline at end of file