Quintiq file version 2.0
|
#parent: #root
|
Method EditUnitAvailabilityFromListUnitPeriodTime (
|
internal[GUIComponent] parent,
|
structured[UnitPeriodTime] selection
|
) id:Method_DialogCreateEditUnitAvailability_EditUnitAvailabilityFromListUnitPeriodTime
|
{
|
#keys: '[105706.0.2071122933]'
|
Body:
|
[*
|
// Edit the capacity of the selection unit period times from periods list
|
|
isbatchedit := selection.Size() > 1;
|
Dialog.ShowHideComponentForBatchEdit( isbatchedit, false, true );
|
|
upt := selection.Element( 0 );
|
// Need this for excluding itself in pre-condition primary keys checking.
|
data := shadow( upt.UnitAvailability() );
|
|
// In case selection.Element( 0 ) doesn't bind to any unit availability, calling SetDefaultValue method will return null error.
|
// Check start in case of editing from UPT later than the existing UA, the Start date will be off if we pass in existing UA
|
if( isnull( data )
|
or data.Start() <> upt.Start() )
|
{
|
data := selection.Element( 0 ).Unit().UnitAvailability( relshadow, UnitID := upt.Unit().ID(), Start := upt.Start() );
|
}
|
|
Dialog.Data( data );
|
|
// Need this so that when the upt doesn't not have a unit availability, the fields in this Dialog will not be blank.
|
Dialog.SetDefaultValue( selection.Element( 0 ) );
|
|
result := this.DoModal( parent );
|
|
if( result > 0 )
|
{
|
UnitAvailability::CreateOrUpdateForUnitPeriodTimes( selection,
|
not isbatchedit or CheckBoxBatchEditMaintenance.Checked(),
|
data.TimeUnit(),
|
data.Maintenance(),
|
not isbatchedit or CheckBoxBatchEditEfficiency.Checked(),
|
data.Efficiency(),
|
not isbatchedit or CheckBoxBatchEditAllocation.Checked(),
|
data.Allocation(),
|
not isbatchedit or CheckBoxBatchEditShiftPattern.Checked(),
|
data.ShiftPattern(),
|
not isbatchedit or CheckBoxBatchEditMaxLoadPercentage.Checked(),
|
data.MaximumLoadPercentage(),
|
not isbatchedit or CheckBoxBatchEditNrOfUnitsOpen.Checked(),
|
data.NrOfUnitsOpen(),
|
CheckBoxThisPeriodOnwards.Checked(),
|
not isbatchedit or CheckBoxBatchEditMinimumLoadThreshold.Checked(),
|
data.MinimumLoadThreshold()
|
);
|
}
|
*]
|
}
|