From 7b623ce520ead62dc54ddd71deafeb6901fafcca Mon Sep 17 00:00:00 2001
From: Markus Quaritsch <markus.quaritsch@tugraz.at>
Date: Thu, 6 Aug 2020 13:48:40 +0200
Subject: [PATCH] add floor type to primary bus segment table, use as criterion
 for selectring matching primary mission

---
 .../Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs  | 6 ++++--
 VectoCore/VectoCore/Models/Declaration/Mission.cs           | 1 +
 .../VectoCore/Models/Declaration/PrimaryBusSegments.cs      | 1 +
 3 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs
index 58ca92d520..359a853404 100644
--- a/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs
+++ b/VectoCore/VectoCore/InputData/Reader/Impl/DeclarationModeCompletedBusVectoRunDataFactory.cs
@@ -168,8 +168,10 @@ namespace TUGraz.VectoCore.InputData.Reader.Impl
 						var primarySegment = GetPrimarySegment(PrimaryVehicle);
 						var primaryMission = primarySegment.Missions.Where(
 							m => {
-								return m.BusParameter.DoubleDecker == CompletedVehicle.VehicleCode.IsDoubleDeckerBus() &&
-										m.MissionType == mission.MissionType;
+								return m.BusParameter.DoubleDecker ==
+										CompletedVehicle.VehicleCode.IsDoubleDeckerBus() &&
+										m.MissionType == mission.MissionType && 
+										m.BusParameter.FloorType == CompletedVehicle.VehicleCode.GetFloorType();
 							}).First();
 						simulationRunData = CreateVectoRunDataGeneric(
 							primaryMission,
diff --git a/VectoCore/VectoCore/Models/Declaration/Mission.cs b/VectoCore/VectoCore/Models/Declaration/Mission.cs
index 535e36a5e2..8ca2926e09 100644
--- a/VectoCore/VectoCore/Models/Declaration/Mission.cs
+++ b/VectoCore/VectoCore/Models/Declaration/Mission.cs
@@ -154,6 +154,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 		public Meter DeltaHeight { get; internal set; }
 		public Meter EntranceHeight { get; set; }
 		public VehicleCode VehicleCode { get; set; }
+		public FloorType FloorType { get; set; }
 	}
 
 	
diff --git a/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs b/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs
index 32dc84845e..c4761fa0d5 100644
--- a/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs
+++ b/VectoCore/VectoCore/Models/Declaration/PrimaryBusSegments.cs
@@ -133,6 +133,7 @@ namespace TUGraz.VectoCore.Models.Declaration
 							PassengerDensityRef = passengerDensityRef,
 							DoubleDecker = row.ParseBoolean("doubledecker"),
 							LowEntry = GetLowEntry(row.Field<string>("lowentry")),
+							FloorType = row.Field<string>("floortype").ParseEnum<FloorType>(),
 							EntranceHeight =  row.ParseDouble("entranceheight").SI(Unit.SI.Milli.Meter).Cast<Meter>(),
 							VehicleCode = row.Field<string>("vehiclecode").ParseEnum<VehicleCode>(),
 							HVACConfiguration = BusHVACSystemConfigurationHelper.Parse(row.Field<string>("hvacsystemconfiguration")),
-- 
GitLab