lazhen
2025-01-09 8afe90b633046db39042aada36b88193062f8cff
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
26
27
28
29
30
Quintiq file version 2.0
#parent: #root
Method CreateUpdateCommercialHierarchy (String setId_i, String id_i, String parentID_i, 
  String name_i, String auxString_i, String segmentLevelid_i) as LibDMC_CommercialHierarchy
{
  Description:
  [*
    Logic to check if a commercial hierarchy 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:
  [*
    hierarchy := LibDMC_CommercialHierarchy::FindCommercialHierarchy( setId_i, id_i );
    
    if( isnull( hierarchy ) )
    {
      hierarchy := LibDMC_CommercialHierarchy::Create( this,
                                                       setId_i,
                                                       id_i );
    }
    
    hierarchy.Update( parentID_i,
                      name_i,
                      auxString_i,
                      segmentLevelid_i );
    
    return hierarchy;
  *]
}