Quintiq file version 2.0 #parent: #root Method DeleteScenario ( structured[ScenarioNode] scenarionodes ) id:Method_ScenarioManager_FormScenario_DeleteScenario { #keys: '[113694.1.1854608641]' 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() ); ListScenario.ExpandSelection(); 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. { Form.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, e.IsVisible( DataHolderUserGroup.Data(), false, ApplicationLibMacroPlanner.GetUserName() ), e.CreatedOn() ); // Select the scenario if found any if( not isnull( activescenario ) ) { Form.SelectScenario( activescenario ); } else { DataHolderActiveScenario.Data( null( Scenario ) ); ApplicationLibMacroPlanner.Optimizer_UpdateIconResultStatus(); } } } else { ScenarioNode::Delete( scenarionodes, ScenarioManager ); ListScenario.SelectByKey( trash.Key() ); ListScenario.ExpandSelection(); } } *] }