Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method CreateUpdateLocationLevel (String setId_i, String id_i, String name_i,  
 | 
  Number level_i) as LibDMC_LocationLevel 
 | 
{ 
 | 
  Description: 
 | 
  [* 
 | 
    Logic to check if a location level exists before creating/updating it 
 | 
    1) We handle checking logic here as it minimizes the risk of forgetting to check if an instance exists before creating it 
 | 
    2) Instance exists checking is not done in static create as it violates model metrics 
 | 
  *] 
 | 
  TextBody: 
 | 
  [* 
 | 
    locationlevel := LibDMC_LocationLevel::FindLocationLevel( setId_i, id_i ); 
 | 
     
 | 
    if( isnull( locationlevel ) ) 
 | 
    { 
 | 
      locationlevel := LibDMC_LocationLevel::Create( this, setId_i, id_i ); 
 | 
    } 
 | 
     
 | 
    locationlevel.Update( name_i, level_i ); 
 | 
     
 | 
    return locationlevel; 
 | 
  *] 
 | 
} 
 |