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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
| Quintiq file version 2.0
| #parent: #root
| StaticMethod CreateUpdate (
| Operations owners_i,
| OperationCosts operationCosts_i,
| Account_MP account,
| String costDriver,
| Date start,
| Boolean isEditTimeUnit,
| String timeUnit,
| Boolean isEditLengthOfTime,
| Number lengthOfTime,
| Boolean isEditCost,
| Real cost
| ) as owning OperationCosts
| {
| Description: 'Create or update multiple costs'
| TextBody:
| [*
| // Create/update operation cost
| operationCosts := construct( OperationCosts );
| isFromDB := false;
|
| // To cater for future edit, operation costs input will be used for edit
| if( operationCosts_i.Size() = 0 )
| {
| operationCosts := OperationCost::Create( owners_i,
| account,
| costDriver,
| start,
| timeUnit,
| lengthOfTime,
| cost,
| isFromDB
| );
| }
| else
| {
| operationCosts := OperationCost::Update( operationCosts_i,
| owners_i,
| account,
| costDriver,
| start,
| isEditTimeUnit, timeUnit,
| isEditLengthOfTime, lengthOfTime,
| isEditCost, cost );
| }
|
| return &operationCosts;
| *]
| }
|
|