Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method RefreshScenarioStatus 
 | 
{ 
 | 
  Description: 'To refresh the scenario state when it is loaded.' 
 | 
  TextBody: 
 | 
  [* 
 | 
    // desmondt May-30-2014 (created) 
 | 
     
 | 
    editor   := MDSEditor::Editor(); 
 | 
    allInfos := editor.ObjectInfos(); 
 | 
     
 | 
    traverse( this, ScenarioNode.astype( ScenarioMP ), scenario ) 
 | 
    { 
 | 
      mdsInfo := select( allInfos, Elements, oInfo, 
 | 
                         oInfo.MDSID().MDSKey() = scenario.DatasetMDSID() ); 
 | 
     
 | 
      isdatasetexists := not isnull( mdsInfo ); 
 | 
     
 | 
      scenario.SetScenarioLoadedStatus( isdatasetexists and mdsInfo.IsLoaded(), 
 | 
                                        false /*IsLoadingInProgress*/ );        // We will only enter this method during ScenarioManager::OnConstructed, MacroPlan::OnDestructed 
 | 
                                                                                // and through refresh button in the designer. We forcefully set scenario loading status to false 
 | 
                                                                                // during refresh as a temporary solution to refresh the loading state. The end game is the scenario manager 
 | 
                                                                                // will be revamped with reactive quill.  
 | 
     
 | 
      if( isdatasetexists ) 
 | 
      { 
 | 
        scenario.State( mdsInfo.State() ); 
 | 
      } 
 | 
      else 
 | 
      { 
 | 
        // We delete scenarios that are no longer binded to a dataset 
 | 
        scenario.Delete(); 
 | 
      } 
 | 
    } 
 | 
  *] 
 | 
} 
 |