| Quintiq file version 2.0 | 
| #parent: #root | 
| Method ImportOptimizerPuzzles ( | 
|   owning BinaryData optimizerpuzzles | 
| ) | 
| { | 
|   Description: 'Import optimizer puzzles  to model' | 
|   TextBody: | 
|   [* | 
|     // Optimizer puzzle | 
|     this.SynchronizeOptimizerPuzzles( &optimizerpuzzles ); | 
|      | 
|     // Set the imported subsets entity to IsUserAction true | 
|     traverse( this, OptimizerPuzzle.SubsetEntityInOptimizerPuzzle, subset ) | 
|     { | 
|       subset.Update( subset.IsIncluded(), true );   | 
|     } | 
|      | 
|     // Set the imported subsets product to IsUserAction true | 
|     traverse( this, OptimizerPuzzle.SubsetProductInOptimizerPuzzle, subset ) | 
|     { | 
|       subset.Update( subset.IsIncluded(), true );   | 
|     } | 
|      | 
|     // Propagate relation entity because puzzle word needs all the entities to create subsets | 
|     Transaction::Transaction().Propagate( relation( MacroPlan, Entity ) ); | 
|      | 
|     // World OptimizerPuzzle | 
|     // Propagate relation OptimizerPuzzleWorld because we need to check if world is existing | 
|     Transaction::Transaction().Propagate( relation( MacroPlan, OptimizerPuzzleWorld ) ); | 
|      | 
|     // Check if world puzzle is existing else create it | 
|     this.FindCreateWorldPuzzle(); | 
|   *] | 
| } |