コード例 #1
0
        /// <summary>
        /// Action handler for ManagePawnApplication
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="data"></param>
        private void managePawnAppFormNavAction(object sender, object data)
        {
            if (sender == null || data == null)
            {
                throw new ApplicationException("Manage pawn app form navigation action handler received invalid data");
            }

            NavBox managePawnAppNavBox = (NavBox)sender;

            NavBox.NavAction action = managePawnAppNavBox.Action;
            if (action == NavBox.NavAction.BACKANDSUBMIT)
            {
                CashlinxDesktopSession.Instance.HistorySession.Back();
                action = NavBox.NavAction.SUBMIT;
            }

            switch (action)
            {
            case NavBox.NavAction.SUBMIT:
                this.nextState = PurchaseReturnFlowState.FinalGunSubmit;
                break;

            case NavBox.NavAction.CANCEL:
            case NavBox.NavAction.BACK:
                this.nextState = PurchaseReturnFlowState.CancelFlow;
                break;

            default:
                throw new ApplicationException("" + action.ToString() + " is not a valid state for ManagePawnApplication");
            }
            this.executeNextState();
        }
コード例 #2
0
 public PurchaseReturnFlowExecutor(Form parentForm, FxnBlock eStateNotifier)
     : base(NAME)
 {
     this.parentForm = parentForm;
     this.nextState  = PurchaseReturnFlowState.BuyReturn;
     this.setExecBlock(this.executorFxn);
     this.endStateNotifier = eStateNotifier;
     this.executeNextState();
 }
コード例 #3
0
        private void createVendFormNavAction(object sender, object data)
        {
            if (sender == null || data == null)
            {
                throw new ApplicationException("Create Vendor form navigation action handler received invalid data");
            }

            NavBox       createVendNavBox = (NavBox)sender;
            CreateVendor createVendForm   = (CreateVendor)data;

            NavBox.NavAction lookupAction = createVendNavBox.Action;
            if (lookupAction == NavBox.NavAction.BACKANDSUBMIT)
            {
                GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back();
                lookupAction = NavBox.NavAction.SUBMIT;
            }
            switch (lookupAction)
            {
            case NavBox.NavAction.SUBMIT:
                if (createVendNavBox.IsCustom)
                {
                    string custDet = createVendNavBox.CustomDetail;
                    //Look for add customer
                    if (custDet.Equals("AddVendorComplete"))
                    {
                        GlobalDataAccessor.Instance.DesktopSession.HistorySession.Desktop();
                        GlobalDataAccessor.Instance.DesktopSession.showProcessTender(ProcessTenderProcedures.ProcessTenderMode.RETURNBUY);
                        return;
                    }
                }
                break;

            case NavBox.NavAction.CANCEL:
                this.nextState = PurchaseReturnFlowState.CancelFlow;
                break;

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

            this.executeNextState();
        }
コード例 #4
0
        /// <summary>
        /// Navigation actions for add cash drawer form
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="data"></param>
        private void buyReturnItemsFormNavAction(object sender, object data)
        {
            if (sender == null || data == null)
            {
                throw new ApplicationException("Buy Return Items navigation action handler received invalid data");
            }

            NavBox navBox = (NavBox)sender;

            NavBox.NavAction action = navBox.Action;
            if (action == NavBox.NavAction.BACKANDSUBMIT)
            {
                GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back();
                action = NavBox.NavAction.SUBMIT;
            }

            switch (action)
            {
            case NavBox.NavAction.SUBMIT:
                if (navBox.IsCustom && navBox.CustomDetail.Equals("ManagePawnAppplication", StringComparison.OrdinalIgnoreCase))
                {
                    this.nextState = PurchaseReturnFlowState.ManagePawnApplication;
                }
                else if (navBox.IsCustom && navBox.CustomDetail.Equals("ShowVendor", StringComparison.OrdinalIgnoreCase))
                {
                    this.nextState = PurchaseReturnFlowState.ShowVendor;
                }
                else
                {
                    this.nextState = PurchaseReturnFlowState.BuyReturn;
                }
                break;

            case NavBox.NavAction.CANCEL:
                this.nextState = PurchaseReturnFlowState.CancelFlow;
                break;
            }

            this.executeNextState();
        }
コード例 #5
0
        /// <summary>
        /// Main execution function for NewPawnLoanFlowExecutor
        /// </summary>
        /// <param name="inputData"></param>
        /// <returns></returns>
        private object executorFxn(object inputData)
        {
            if (inputData == null)
            {
                return(false);
            }

            PurchaseReturnFlowState inputState = (PurchaseReturnFlowState)inputData;

            switch (inputState)
            {
            case PurchaseReturnFlowState.BuyReturn:
                ShowForm buyReturnFrmBlk = CommonAppBlocks.Instance.BuyReturnFormBlock(this.parentForm, this.buyReturnFormNavAction);
                if (!buyReturnFrmBlk.execute())
                {
                    throw new ApplicationException("Cannot show Buy Return form");
                }
                break;

            case PurchaseReturnFlowState.BuyReturnItems:
                ShowForm buyReturnItemBlk = CommonAppBlocks.Instance.BuyReturnItemsFormBlock(this.parentForm, this.buyReturnItemsFormNavAction);
                if (!buyReturnItemBlk.execute())
                {
                    throw new ApplicationException("Cannot show Return Items form");
                }

                break;

            case PurchaseReturnFlowState.CancelFlow:
                GlobalDataAccessor.Instance.DesktopSession.ClearCustomerList();
                GlobalDataAccessor.Instance.DesktopSession.ClearSessionData();
                if (this.endStateNotifier != null)
                {
                    this.endStateNotifier.execute();
                }
                break;

            case PurchaseReturnFlowState.ManagePawnApplication:
                ShowForm managePawnAppBlk = CommonAppBlocks.Instance.CreateManagePawnApplicationBlock(this.parentForm, this.managePawnAppFormNavAction);
                if (!managePawnAppBlk.execute())
                {
                    throw new ApplicationException("Cannot execute ManagePawnApplication block");
                }
                break;

            case PurchaseReturnFlowState.FinalGunSubmit:
                var backgroundcheckFrm = new FirearmsBackgroundCheck();
                backgroundcheckFrm.ShowDialog(null);

                if (GlobalDataAccessor.Instance.DesktopSession.BackgroundCheckCompleted)
                {
                    GlobalDataAccessor.Instance.DesktopSession.HistorySession.Desktop();
                    GlobalDataAccessor.Instance.DesktopSession.showProcessTender(ProcessTenderProcedures.ProcessTenderMode.RETURNBUY);
                }
                break;

            case PurchaseReturnFlowState.ShowVendor:

                ShowForm createVendBlk = CommonAppBlocks.Instance.CreateCreateVendorBlock(this.parentForm, this.createVendFormNavAction);
                if (!createVendBlk.execute())
                {
                    throw new ApplicationException("Cannot execute Show Vendor block");
                }
                break;
            }


            return(true);
        }