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; 
 | 
  *] 
 | 
} 
 |