コード例 #1
0
        /// <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;
                }
            }
        }
コード例 #2
0
        /// <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;
                }
            }
        }
コード例 #3
0
        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;
                }
            }
        }
コード例 #4
0
        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;
                }
            }
        }