private void gunBookUtilityFormNavAction(object sender, object data)
        {
            if (sender == null || data == null)
            {
                throw new ApplicationException("Gun Book Utility navigation action handler received invalid data");
            }

            NavBox gunBookUtiltiyNavBox             = (NavBox)sender;
            GunBookPrintOptions gunBookPrintOptions = (GunBookPrintOptions)data;

            NavBox.NavAction gunBookAction = gunBookUtiltiyNavBox.Action;
            if (gunBookAction == NavBox.NavAction.BACKANDSUBMIT)
            {
                GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back();
                gunBookAction = NavBox.NavAction.SUBMIT;
            }
            switch (gunBookAction)
            {
            case NavBox.NavAction.SUBMIT:
                this.nextState = GunBookUtilityFlowFlowState.PRINT;
                break;

            case NavBox.NavAction.CANCEL:
                this.nextState = GunBookUtilityFlowFlowState.CANCEL;
                break;

            default:
                throw new ApplicationException("" + gunBookAction.ToString() + " is not a valid state for LookupCustomer");
            }

            this.executeNextState();
        }
        private object executorFxn(object inputData)
        {
            if (inputData == null)
            {
                return(false);
            }

            GunBookUtilityFlowFlowState inputState = (GunBookUtilityFlowFlowState)inputData;

            switch (inputState)
            {
            case GunBookUtilityFlowFlowState.PRINT:

                //ShowForm gunBookUtilites = CommonAppBlocks.Instance.CreateGunBookPrintUtilityBlock(this.parentForm, this.gunBookUtilityFormNavAction);

                //if (!gunBookUtilites.execute())
                //{
                //    throw new ApplicationException("Cannot execute Gun book utilities block");
                //}
                break;

            case GunBookUtilityFlowFlowState.CANCEL:
                //CommonAppBlocks.Instance.HideFlowTabController();

                //if (this.endStateNotifier != null)
                //    this.endStateNotifier.execute();
                break;
            }

            return(true);
        }