Quintiq file version 2.0 
 | 
#parent: #root 
 | 
Method CreateOrEditActualFromUnitPeriodList ( 
 | 
  internal[GUIComponent] parent, 
 | 
  structured[UnitPeriod] unitperiods 
 | 
) id:Method_DialogCreateEditActualUnitPeriod_CreateOrEditActualFromUnitPeriodList 
 | 
{ 
 | 
  #keys: '[113694.1.369549217]' 
 | 
  Body: 
 | 
  [* 
 | 
    // Create/Edit actual unit period in unit period list 
 | 
     
 | 
    unitperiod := unitperiods.Element( 0 ); 
 | 
     
 | 
    // Check if selected unit period is time base, we have precondition to check if all the selection is same type. 
 | 
    istimebase := unitperiod.Unit().HasCapacityTypeTimeBase(); 
 | 
    isbatchedit := unitperiods.Size() > 1; 
 | 
     
 | 
    Dialog.ShowHideComponents( istimebase, isbatchedit ); 
 | 
     
 | 
    data := shadow( unitperiod.ActualUnitPeriod() ); 
 | 
    if( isnull( data ) ) 
 | 
    { 
 | 
      data := MacroPlan.Actual( relshadow, 
 | 
                                ActualUnitPeriod, 
 | 
                                UnitID := unitperiod.Unit().ID(), 
 | 
                                Date := unitperiod.StartDate(), 
 | 
                                UnitPeriod := unitperiod ); // Use to display UOM and instance text for validate input 
 | 
    } 
 | 
     
 | 
    Dialog.Data( data ); 
 | 
     
 | 
    result := this.DoModal( parent ); 
 | 
     
 | 
    if( result > 0 ) 
 | 
    { 
 | 
      ActualUnitPeriod::CreateOrUpdateForUnitPeriods( unitperiods, 
 | 
                                                      CheckBoxBatchEditUtilization.Checked(), 
 | 
                                                      data.ActualUtilizationPercentage(), 
 | 
                                                      CheckBoxBatchEditTotalAvailableQuantity.Checked(), 
 | 
                                                      data.ActualTotalAvailableQuantity(), 
 | 
                                                      CheckBoxBatchEditTotalAvailableDuration.Checked(), 
 | 
                                                      data.ActualTotalAvailableDuration(), 
 | 
                                                      CheckBoxBatchEditDescription.Checked(), 
 | 
                                                      data.Description() ); 
 | 
    } 
 | 
  *] 
 | 
} 
 |