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
| Quintiq file version 2.0
| #parent: #root
| Method Update (
| String username_i,
| String name_i,
| String description_i,
| Boolean isfromdb_i
| ) as OptimizerPuzzle
| {
| TextBody:
| [*
| // Gets the WIP object user editing, to overwrite (or create new) OptimizerPuzzle
| wip := select( this,
| OptimizerPuzzleWIP,
| w,
| w.Username() = username_i );
|
| opti := null( OptimizerPuzzle );
|
| // Copy
| if( wip.CreateAsNew() )
| {
| opti := OptimizerPuzzle::Create( wip.OptimizerPuzzle().MacroPlan(),
| name_i,
| description_i,
| false, // IsLastUsed
| isfromdb_i, // IsFromDB
| wip );
| }
| // Edit
| else
| {
| // Update Name, Description and IsManuallyConfigured
| this.Update( name_i, description_i, isfromdb_i );
|
| // Copy Subsets from OptimizerPuzzleWIP to OptimizerPuzzle
| wip.SyncSubsetAll( this );
|
| opti := this;
|
| // Delete the wip ( this is done in OptimizerPuzzle::Create for copy / create )
| wip.Delete();
| }
|
| return opti;
| *]
| }
|
|