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);
 }
Exemple #2
0
 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);
 }
Exemple #3
0
 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;
 }