Quintiq file version 2.0
|
#parent: #root
|
Method ExtendCombiWithNextSubPeriod
|
{
|
Description: 'Determine if the combi needs to be extended with an additional sub period. This is the case if there is only one element type in the combi and the (min/max)end time of the element extend beyond the subperiod.'
|
TextBody:
|
[*
|
lastelement := this.LastCombiElement();
|
if( isnull( lastelement.OptCampaignUnitSubPeriod().NextSubPeriod() ) )
|
{
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
//There are no periods to extend to so close the combi to make it does not end in an endless loop.
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
this.IsCompleteCombi( true );
|
}
|
else
|
{
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
//Extend the combi with the same element in the next subperiod
|
///////////////////////////////////////////////////////////////////////////////////////////////////////////////
|
if( lastelement.istype( OptCampaignCombiElementCampaign ) )
|
{
|
OptCampaignCombiElementCampaign::Create( this, lastelement.astype( OptCampaignCombiElementCampaign ).CampaignType_MP(), lastelement.OptCampaignUnitSubPeriod().NextSubPeriod() );
|
}
|
else
|
{
|
OptCampaignCombiElementTransition::Create( this, lastelement.astype( OptCampaignCombiElementTransition ).TransitionType_MP(), lastelement.OptCampaignUnitSubPeriod().NextSubPeriod() );
|
}
|
}
|
*]
|
}
|