Quintiq file version 2.0 
 | 
#parent: #root 
 | 
MethodOverride SyncSubsetEntity ( 
 | 
  OptimizerPuzzleBase target 
 | 
) 
 | 
{ 
 | 
  TextBody: 
 | 
  [* 
 | 
    // Copy all the subset entity from OP to WIP 
 | 
    subsetWIP := target.astype( OptimizerPuzzleWIP ); 
 | 
    isfromdb := false; 
 | 
     
 | 
    currentList := selectset( subsetWIP, SubsetEntityInOptimizerPuzzleWip, sub , true ); 
 | 
    newList := construct( SubsetEntityInOptimizerPuzzleWips ); 
 | 
     
 | 
    traverse( this, SubsetEntityInOptimizerPuzzle, subsource, subsource.IsValidData() ) 
 | 
    { 
 | 
      // No need check for subset as wip always starts on empty subset 
 | 
       
 | 
      // Create a SubsetEntityWIP because WIP doesn't have it 
 | 
      targetSubset := SubsetEntityInOptimizerPuzzleWip::Create( subsetWIP, subsource.Entity(), isfromdb ); 
 | 
       
 | 
      // Update IsInclude and IsUserAction 
 | 
      targetSubset.IsIncluded( subsource.IsIncluded() ); 
 | 
      targetSubset.IsUserAction( subsource.IsUserAction() ); 
 | 
       
 | 
      newList.Add( targetSubset ); 
 | 
    } 
 | 
     
 | 
    toBeDeleted := currentList.Difference( newList ); 
 | 
    SubsetEntityInOptimizerPuzzleWip::Delete( toBeDeleted ); 
 | 
  *] 
 | 
} 
 |