public PassengerMatchingAlgorithm(ITashaHousehold household, ModeChoiceHouseholdData householdData, ITashaPassenger passengerMode, ITashaMode[] modes) { Household = household; HouseholdData = householdData; PassengerMode = passengerMode; Modes = modes; PotentialTrips = new List <PotentialPassengerTrip>(); Conflicts = new List <Conflict>(); IndexOfPassenger = IndexOf(passengerMode, modes); }
public bool RuntimeValidation(ref string error) { if (!string.IsNullOrWhiteSpace(RideshareModeName)) { bool found = false; foreach (var sharedMode in Root.SharedModes) { if (sharedMode.ModeName == RideshareModeName) { Rideshare = sharedMode; found = true; break; } } if (!found) { error = "In '" + Name + "' we were unable to find a shared mode called '" + RideshareModeName + "' to use for rideshare"; return(false); } found = false; foreach (var nonSharedMode in Root.NonSharedModes) { if (nonSharedMode.ModeName == AutoModeName) { AutoMode = nonSharedMode; found = true; break; } } if (!found) { error = "In '" + Name + "' we were unable to find a non shared mode called '" + AutoModeName + "' to use replace with rideshare"; return(false); } } if (!string.IsNullOrWhiteSpace(PassengerModeName)) { foreach (var sharedMode in Root.SharedModes) { if (sharedMode.ModeName == PassengerModeName) { PassengerMode = sharedMode as ITashaPassenger; break; } } if (PassengerMode == null) { error = "In '" + Name + "' we were unable to find a shared mode called '" + PassengerModeName + "' to use for passenger"; return(false); } } return(true); }
public bool RuntimeValidation(ref string error) { if ( !string.IsNullOrWhiteSpace( RideshareModeName ) ) { bool found = false; foreach ( var sharedMode in Root.SharedModes ) { if ( sharedMode.ModeName == RideshareModeName ) { Rideshare = sharedMode; found = true; break; } } if ( !found ) { error = "In '" + Name + "' we were unable to find a shared mode called '" + RideshareModeName + "' to use for rideshare"; return false; } found = false; foreach ( var nonSharedMode in Root.NonSharedModes ) { if ( nonSharedMode.ModeName == AutoModeName ) { AutoMode = nonSharedMode; found = true; break; } } if ( !found ) { error = "In '" + Name + "' we were unable to find a non shared mode called '" + AutoModeName + "' to use replace with rideshare"; return false; } } if ( !string.IsNullOrWhiteSpace( PassengerModeName ) ) { foreach ( var sharedMode in Root.SharedModes ) { if ( sharedMode.ModeName == PassengerModeName ) { PassengerMode = sharedMode as ITashaPassenger; break; } } if ( PassengerMode == null ) { error = "In '" + Name + "' we were unable to find a shared mode called '" + PassengerModeName + "' to use for passenger"; return false; } } return true; }