Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method SynchronizeInputGroup ( 
 | 
  Boolean isfromdb, 
 | 
  Boolean isondelete 
 | 
) 
 | 
{ 
 | 
  Description: 'Create operation input group if required.' 
 | 
  TextBody: 
 | 
  [* 
 | 
    // DWE2 Mar-30-2016 (created) 
 | 
    operation := this.GetInputOperation(); 
 | 
     
 | 
    // If is input 
 | 
    if( not isnull( operation ) ) 
 | 
    { 
 | 
      operationinputgroup := OperationInputGroup::FindOperationInputGroupTypeIndex( operation.ID(), this.GetInputGroupID() ); 
 | 
      siblingsize := this.GetSiblingInputs().Size(); 
 | 
       
 | 
      // add siblings 
 | 
      if( isnull( operationinputgroup ) and siblingsize > 0 ) 
 | 
      { 
 | 
        OperationInputGroup::Create( operation, 
 | 
                                     this.GetInputGroupID(), 
 | 
                                     this.MacroPlan().GlobalParameters_MP().DefaultOperationInputOutputQuantity(), 
 | 
                                     isfromdb ); 
 | 
      }                                   
 | 
      else 
 | 
      { 
 | 
        // operation is already in group and there is just 1 sibling left, remove group 
 | 
        // when is ondelete and there is only 1 sibling left, delete operationinputgroup 
 | 
        if(  siblingsize < 1  or ( siblingsize =1 and isondelete ) ) 
 | 
        { 
 | 
          inputgroups := selectset( operation, OperationInputGroup, oig, oig.GetCanBeDeleted( this ) ) 
 | 
          OperationInputGroup::Delete( inputgroups ); 
 | 
        }  
 | 
      } 
 | 
    } 
 | 
  *] 
 | 
} 
 |