Quintiq file version 2.0
|
#parent: #root
|
Method Move (
|
ScenarioNodes scenarionodes,
|
output Boolean isdeleted
|
)
|
{
|
Description: 'Move scenario node, return true if any of the datasets have been deleted.'
|
TextBody:
|
[*
|
before := null( ScenarioNode );
|
asfolder := guard( this.astype( ScenarioFolder ), null( ScenarioFolder ) );
|
isdeleted := not isnull( asfolder ) and asfolder.IsRecycleBin();
|
|
nodesInTrash := construct( ScenarioNodes );
|
traverse( scenarionodes, Elements, node, node <> this )
|
{
|
// Delete from recycle bin
|
if( node.IsDeleted() and isdeleted )
|
{
|
nodesInTrash.Add( node );
|
}
|
else
|
{
|
// Set to Unavailable if the node is moved into recycle bin
|
if( isdeleted )
|
{
|
node.SetUnavailable( '' );
|
}
|
|
this.MoveAfter( node, before );
|
before := node;
|
}
|
}
|
|
// Delete the nodes from recycle bin permanently
|
// After notifying the LibDEF
|
ScenarioManager::LibDEFDeleteAllScenarios( nodesInTrash, true );
|
traverse( nodesInTrash, Elements, node )
|
{
|
node.DeleteFromRecycleBin();
|
}
|
*]
|
InterfaceProperties { Accessibility: 'Extensible' }
|
}
|