Quintiq file version 2.0 
 | 
#parent: #root 
 | 
StaticMethod OnServerStartup (DatasetState storagestate) 
 | 
{ 
 | 
  Description: 
 | 
  [* 
 | 
    With this method, you can load the `LibOpt_OptimizerRunController` dataset on server startup. If the `LibOpt_OptimizerRunController` dataset doesn't exist yet, a new one is created. 
 | 
     
 | 
    It is recommended to always load the `LibOpt_OptimizerRunController` dataset on startup. You can do so by calling `LibOpt_OptimizerRunController::OnServerStartup( DatasetState::StandAloneStorage() )` in the server startup. 
 | 
  *] 
 | 
  TextBody: 
 | 
  [* 
 | 
    // evr3 May-5-2022 (created) 
 | 
     
 | 
    state := storagestate.AsString(); 
 | 
    datasetname := typeof( LibOpt_OptimizerRunController ).Name(); 
 | 
    options := DatasetFindOptions::Construct().Kind( datasetname ).IncludeOffline( true ); 
 | 
    DatasetController::FindUnique( options )->( datasetkey ) 
 | 
    { 
 | 
      if( datasetkey = Key::ZeroKey() ) // No OptimizerRunController dataset is found 
 | 
      { 
 | 
        MDSLibOpt_OptimizerRunController::CreateMDS( datasetname, state );  
 | 
      } 
 | 
      else // A OptimizerRunController exists, so we load it. 
 | 
      { 
 | 
        // We are going from DatasetState to String to DatasetState, because DatasetState doesn't exists as a stream. 
 | 
        storage := DatasetState::FromString( state ) 
 | 
        DatasetLoadOptions::Construct().State( storage ); 
 | 
        MDSLibOpt_OptimizerRunController::Load( datasetkey ); 
 | 
      }  
 | 
    } 
 | 
  *] 
 | 
} 
 |