Quintiq file version 2.0
|
#parent: #root
|
Method AssignParent (
|
LibCal_EventType parent
|
)
|
{
|
Description: 'Assign this event type as a child of the given event type'
|
TextBody:
|
[*
|
// zlg Nov-20-2015 (created)
|
oldparent := this.Parent();
|
newparentid := guard( parent.ID(), '' );
|
hasnewparent := guard( oldparent.ID(), '' ) <> newparentid;
|
|
if( this.HasDescendant( parent ) )
|
{
|
parent.ParentID( this.ParentID() );
|
}
|
this.ParentID( newparentid );
|
|
// Calculate siblings of the product to the new parent
|
if( hasnewparent )
|
{
|
this.ParentID( guard( parent.ID(), '' ) );
|
|
traverse( this, AllChildren.AsChildren, p )
|
{
|
p.SetAllParent();
|
}
|
|
// Propogate the HasParent attribute to use in setting root product
|
Transaction::Transaction().Propagate( attribute( Product_MP, HasParent ) );
|
this.SetRootEvent();
|
// this.SetSiblings();
|
|
// Recalculate siblings for the old parent
|
// traverse( oldparent, AllChildren, child )
|
// {
|
// child.AsChildren().SetSiblings();
|
// }
|
|
}
|
*]
|
}
|