| Quintiq file version 2.0 | 
| #parent: #root | 
| StaticMethod Create ( | 
|   OptimizerPuzzleWIP owner, | 
|   Product_MP product, | 
|   Boolean isfromdb | 
| ) as SubsetProductInOptimizerPuzzleWip | 
| { | 
|   TextBody: | 
|   [* | 
|     // Create N-M object subset product that is owned by OptimizerPuzzleWIP and has a relation with product given in argument | 
|     // This is used to include / exclude in OptimizerPuzzle | 
|      | 
|     subsetProduct := SubsetProductInOptimizerPuzzleWip::FindSubsetProductOptimizerPuzzleWipTypeIndices( owner.Name(), product.ID(), owner.Username() ); | 
|      | 
|     if( isnull( subsetProduct ) ) | 
|     { | 
|       // Create SubsetProductInOptimizerPuzzleWIP | 
|       subsetProduct := owner.SubsetProductInOptimizerPuzzleWip( relnew,  | 
|                                                                 IsIncluded := true, | 
|                                                                 IsUserAction := false, | 
|                                                                 ProductID := product.ID(), | 
|                                                                 OptimizerPuzzleName := owner.Name(), | 
|                                                                 User := owner.Username(), | 
|                                                                 IsManuallyConfigured := isfromdb );                                               | 
|     } | 
|      | 
|     return subsetProduct; | 
|   *] | 
| } |