Exemple #1
0
                protected internal override void MenuItemEnteredTransition(ManagementOCU_ManagementOcuFSMContext context, MenuItemEntered msg)
                {
                    ManagementOCU_ManagementOcuFSM ctxt = context.Owner;


#if TRACE
                    Trace.WriteLine(
                        "TRANSITION   : ManagementOCU_ManagementOcuFSM_SM.WaitForControl.MenuItemEnteredTransition(, MenuItemEntered msg)");
#endif

                    if (!ctxt.isSelectionToEnd(msg))
                    {
                        context.State.Exit(context);
                        context.ClearState();

                        try
                        {
                            ctxt.printMessageAction("waiting for AccessControl process to end");
                            ctxt.sendRequestControlAction();
                            ctxt.displayMenuAction();
                            ctxt.processNotifications("WaitForControl", null);
                        }
                        finally
                        {
                            context.State = ManagementOCU_ManagementOcuFSM_SM.WaitForControl;
                            context.State.Entry(context);
                        }
                    }
                    else if (ctxt.isSelectionToEnd(msg))
                    {
                        context.State.Exit(context);
                        context.ClearState();

                        try
                        {
                            ctxt.terminateServiceAction();
                            ctxt.sendRequestControlAction();
                            ctxt.displayMenuAction();
                            ctxt.processNotifications("WaitForControl", null);
                        }
                        finally
                        {
                            context.State = ManagementOCU_ManagementOcuFSM_SM.WaitForControl;
                            context.State.Entry(context);
                        }
                    }
                    else
                    {
                        base.MenuItemEnteredTransition(context, msg);
                    }

                    return;
                }