Quintiq file version 2.0
|
#parent: #root
|
StaticMethod GetAvailableStart (
|
DateTime earlieststart,
|
Campaign_MP sourcecampaign
|
) declarative remote as DateTime
|
{
|
TextBody:
|
[*
|
value := earlieststart;
|
previouscampaign := sourcecampaign.PreviousCampaign();
|
|
if( not isnull( previouscampaign ) )
|
{
|
|
transitionduration := ifexpr( previouscampaign.HasNextTransitionDurationByOpt(),
|
previouscampaign.NextTransitionDurationByOpt(),
|
Campaign_MP::GetMinTransitionDuration( previouscampaign.CampaignType_MP(), sourcecampaign.CampaignType_MP() ) );
|
|
if( previouscampaign.HistoricalTransitionDuration() > Duration::Zero() )
|
{
|
transitionduration := previouscampaign.HistoricalTransitionDuration();
|
}
|
|
newcampaignstart := previouscampaign.End() + transitionduration;
|
value := maxvalue( earlieststart, newcampaignstart );
|
}
|
|
return value;
|
*]
|
}
|