| 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(); | 
|       } | 
|     } | 
|   *] | 
| } |