/// <summary> /// Launchs an action in an scenario. /// </summary> /// <param name="actionInfo">Action information.</param> /// <param name="actionItem">Item involved in the action.</param> public static void LaunchActionScenario(ExchangeInfoAction actionInfo, IActionItemSuscriber actionItem) { // Print Scenario if (actionInfo.IUName == typeof(PrintForm).FullName) { LaunchPrintScenario(actionInfo.SelectedOids); return; } // Instance Scenario, initialize and return the controller instance inside the Scenario. Form lScenario = CreateScenarioInstance(actionInfo); IUController lController = Initialize(lScenario, actionInfo); if (lController != null) { if (actionItem != null) { actionItem.SuscribeActionEvents(lController as IActionItemEvents); } } if (lScenario != null) { IUServiceController lIUServiceController = lController as IUServiceController; if (lIUServiceController != null && !lIUServiceController.ShowScenario) { lIUServiceController.Execute(); } else { lScenario.MdiParent = MainForm; LaunchShowState = ShowState.Showing; lScenario.Show(); LaunchShowState = ShowState.Showed; } } }
public static void LaunchConditionalNavigationScenario(ExchangeInfoConditionalNavigation exchangeInfoConditionalNavigation, IActionItemSuscriber actionItem) { ExchangeInfo exchangeInfo = null; if (exchangeInfoConditionalNavigation.ConditionalNavigationInfo.Count == 1) { exchangeInfo = exchangeInfoConditionalNavigation.ConditionalNavigationInfo[0].ExchangeInfo; } else { Form lScenario = CreateScenarioInstance(exchangeInfoConditionalNavigation); Initialize(lScenario, exchangeInfoConditionalNavigation); lScenario.ShowDialog(MainForm); if ((exchangeInfoConditionalNavigation != null) && (exchangeInfoConditionalNavigation.DestinationInfo != null)) { exchangeInfo = exchangeInfoConditionalNavigation.DestinationInfo.ExchangeInfo; } } if (exchangeInfo != null) { switch (exchangeInfo.ExchangeType) { case ExchangeType.Navigation: LaunchNavigationScenario(exchangeInfo as ExchangeInfoNavigation, null); break; case ExchangeType.Action: LaunchActionScenario(exchangeInfo as ExchangeInfoAction, actionItem); break; } } }