Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method DeleteScenarios ( 
 | 
  ScenarioManager scenariomanager 
 | 
) 
 | 
{ 
 | 
  Description: 'Delete scenario in format FolderName:ScenarioName;FolderName:ScenarioName or All to delete all' 
 | 
  TextBody: 
 | 
  [* 
 | 
    strs := this.GetScenariosToDelete(); 
 | 
    if ( strs = UTF_UnitTestMPBase::All() ) 
 | 
    { 
 | 
      scenarios := selectset( scenariomanager, ScenarioMP, scenario, true ); 
 | 
      traverse( scenarios, Elements, s ) 
 | 
      { 
 | 
        s.Delete();   
 | 
      }  
 | 
    } 
 | 
    //Scenario with parent folder 
 | 
    else if( strs.FindString( UTF_UnitTestMPBase::Delimiter(), 0 ) > -1 and strs.FindString( UTF_UnitTestMPBase::Delimter1(), 0 )>-1  ) 
 | 
    { 
 | 
      scenariostr := strs.Tokenize( UTF_UnitTestMPBase::Delimiter() ) 
 | 
      traverse( scenariostr, Elements, s ) 
 | 
      { 
 | 
        scenario := s.Tokenize( UTF_UnitTestMPBase::Delimter1() ); 
 | 
        scenariotodelete := select( scenariomanager, ScenarioMP, sc, sc.Name() = scenario.Element( 1 ) and sc.Parent().Name() = scenario.Element( 0 ) ); 
 | 
        if ( not isnull( scenariotodelete ) ) 
 | 
        { 
 | 
          scenariotodelete.Delete();   
 | 
        } 
 | 
      } 
 | 
                                   
 | 
    } 
 | 
    // Only pass in scenarios name without pass in parent folder name 
 | 
    else  
 | 
    { 
 | 
      scenarios := strs.Tokenize( UTF_UnitTestMPBase::Delimiter() ) 
 | 
      traverse( scenarios, Elements, s ) 
 | 
      { 
 | 
         
 | 
        scenariotodelete := select( scenariomanager, ScenarioMP, sc, sc.Name() = s ); 
 | 
        if ( not isnull( scenariotodelete ) ) 
 | 
        { 
 | 
          scenariotodelete.Delete();   
 | 
        } 
 | 
      } 
 | 
                                   
 | 
    } 
 | 
  *] 
 | 
  InterfaceProperties { Accessibility: 'Module' } 
 | 
} 
 |