陈清红
2025-04-14 880f3c0257eeb8c37761d484258fdd102a369a19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
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;
  *]
}