yanweiyuan3
2023-08-09 588bc7829387dfc761cc25f06f77d4c81818bd10
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
Quintiq file version 2.0
#parent: #root
Method CreateUpdateDemand (String setId_i, String id_i, String productId_i, 
  String locationId_i, String commercialSegmentId_i, DateTimeVector dateTimes_i, 
  RealVector quantities1_i, RealVector quantities2_i, RealVector quantities3_i, 
  String unitOfMeasureId_i, String currencyId_i, String priorityId_i) as LibDMC_ManufacturingDemand
{
  Description:
  [*
    Logic to check if a demand 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:
  [*
    demand := LibDMC_ManufacturingDemand::FindManufacturingDemand( setId_i, id_i );
    
    if( isnull( demand ) )
    {
      demand := LibDMC_ManufacturingDemand::Create( this, setId_i, id_i );
    }
    
    demand.Update( productId_i, locationId_i, commercialSegmentId_i, dateTimes_i,
                   quantities1_i, quantities2_i, quantities3_i,
                   unitOfMeasureId_i, currencyId_i, priorityId_i );
    
    return demand;
  *]
}