Quintiq file version 2.0 #parent: #root Method DeleteScenario ( structured[ScenarioNode] scenarionodes ) id:Method_FormScenarioManager_DeleteScenario { #keys: '[134266.1.2130318926]' Body: [* // Delete selected scenarios trash := select ( ScenarioManager, ScenarioNode.astype( ScenarioFolder ), s, s.IsRecycleBin(), true ); if ( not isnull( trash ) ) { if( exists( scenarionodes, Elements, e, not e.IsDeleted() ) ) { ScenarioNode::Delete( scenarionodes, ScenarioManager ) ListScenario.SelectByKey( trash.Key() ); if( not isnull( MacroPlan ) // Dont need to delected scenario if there is no active scenario and exists( scenarionodes, Elements.astype( ScenarioMP ), smp, smp.DatasetMDSID() = MacroPlan.MDSID() ) ) // Do not deselect the active scenario if it is not deleted. { DataHolderActiveScenario.Data( null( Scenario ) ); ApplicationMacroPlanner.DeselectScenario(); // Get active scenario activescenarios := selectset( ScenarioManager, ScenarioNode, node, not node.IsDeleted() ); activescenarios := activescenarios.Difference( scenarionodes ); // Get the remaining active ScenarioMP activescenario := maxselect( activescenarios, Elements.astype( ScenarioMP ), e, true, // e.IsVisible( DataHolderUserGroup.Data(), false, ApplicationMacroPlanner.GetUserName() ), e.CreatedOn() ); // Select the scenario if found any if( not isnull( activescenario ) ) { ApplicationMacroPlanner.SelectScenario( activescenario ); } } } else { ScenarioNode::Delete( scenarionodes, ScenarioManager ); ListScenario.SelectByKey( trash.Key() ); } } *] }