/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="data"></param> private void createCustomerFormNavAction(object sender, object data) { if (sender == null || data == null) { throw new ApplicationException("Create customer form navigation action handler received invalid data"); } NavBox createCustNavBox = (NavBox)sender; CreateCustomer createCustForm = (CreateCustomer)data; NavBox.NavAction action = createCustNavBox.Action; if (action == NavBox.NavAction.BACKANDSUBMIT) { GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back(); action = NavBox.NavAction.SUBMIT; } switch (action) { case NavBox.NavAction.SUBMIT: this.nextState = NewPawnLoanFlowState.ManagePawnApplication; break; } this.executeNextState(); }
/// <summary> /// NavBox OnAction Handler for Lookup Customer /// </summary> /// <param name="sender"></param> /// <param name="data"></param> private void lookupCustFormNavAction(object sender, object data) { if (sender == null || data == null) { throw new ApplicationException("Lookup customer form navigation action handler received invalid data"); } NavBox lookupCustNavBox = (NavBox)sender; LookupCustomer lookupCustForm = (LookupCustomer)data; NavBox.NavAction lookupAction = lookupCustNavBox.Action; if (lookupAction == NavBox.NavAction.BACKANDSUBMIT) { GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back(); lookupAction = NavBox.NavAction.SUBMIT; } switch (lookupAction) { case NavBox.NavAction.SUBMIT: if (lookupCustNavBox.IsCustom) { string custDet = lookupCustNavBox.CustomDetail; //Look for add customer if (custDet.Equals("AddCustomer") || custDet.Equals("CreateCustomer")) { //Execute add customer this.nextState = NewPawnLoanFlowState.ManagePawnApplication; } else if (custDet.Equals("ExistingCustomer")) { this.nextState = NewPawnLoanFlowState.ExistingCustomer; } else if (custDet.Equals("LookupCustomerResults")) { this.nextState = NewPawnLoanFlowState.LookupCustomerResults; } else if (custDet.Equals("ManagePawnApplication")) { this.nextState = NewPawnLoanFlowState.ManagePawnApplication; } } else { //Default happy path next state this.parentForm = lookupCustForm; this.nextState = NewPawnLoanFlowState.LookupCustomerResults; } break; case NavBox.NavAction.CANCEL: this.nextState = NewPawnLoanFlowState.CancelFlow; break; default: throw new ApplicationException("" + lookupAction.ToString() + " is not a valid state for LookupCustomer"); } this.executeNextState(); }
public NewPawnLoanFlowExecutor(Form parentForm, FxnBlock eStateNotifier) : base(NAME) { this.parentForm = parentForm; this.endStateNotifier = eStateNotifier; this.nextState = NewPawnLoanFlowState.LookupCustomer; this.setExecBlock(this.executorFxn); this.executeNextState(); }
/// <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; ManagePawnApplication managePawnAppForm = (ManagePawnApplication)data; NavBox.NavAction action = managePawnAppNavBox.Action; if (action == NavBox.NavAction.BACKANDSUBMIT) { GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back(); action = NavBox.NavAction.SUBMIT; } switch (action) { case NavBox.NavAction.SUBMIT: string custDet = managePawnAppNavBox.CustomDetail; if (custDet.Equals("ExistingCustomer")) { this.nextState = NewPawnLoanFlowState.ExistingCustomer; } else if (custDet.Equals("DescribeMerchandise")) { LoadCustomerLoanKeys loanKeysDataBlk = new LoadCustomerLoanKeys(); if (!loanKeysDataBlk.execute()) { //throw new ApplicationException("Cannot get Loan keys for selected customer"); MessageBox.Show("An error occurred in getting loan details for the selected customer"); this.nextState = NewPawnLoanFlowState.CancelFlow; } this.nextState = NewPawnLoanFlowState.InvokeMMPIChildFlow; } else { this.nextState = NewPawnLoanFlowState.ExitFlow; } break; case NavBox.NavAction.CANCEL: this.nextState = NewPawnLoanFlowState.CancelFlow; break; case NavBox.NavAction.BACK: GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back(); this.nextState = NewPawnLoanFlowState.LookupCustomerResults; break; default: throw new ApplicationException("" + action.ToString() + " is not a valid state for ManagePawnApplication"); } this.executeNextState(); }
/// <summary> /// Action class for LookupCustomerResults /// </summary> /// <param name="sender"></param> /// <param name="data"></param> private void lookupCustResultsFormNavAction(object sender, object data) { if (sender == null || data == null) { throw new ApplicationException("Lookup customer form navigation action handler received invalid data"); } NavBox lookupCustResNavBox = (NavBox)sender; LookupCustomerResults lookupCustResForm = (LookupCustomerResults)data; NavBox.NavAction action = lookupCustResNavBox.Action; if (action == NavBox.NavAction.BACKANDSUBMIT) { GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back(); action = NavBox.NavAction.SUBMIT; } switch (action) { case NavBox.NavAction.SUBMIT: if (lookupCustResNavBox.IsCustom) { string custDet = lookupCustResNavBox.CustomDetail; if (custDet.Equals("Complete") || custDet.Equals("ManagePawnApplication")) { this.nextState = NewPawnLoanFlowState.ManagePawnApplication; } else if (custDet.Equals("ViewCustomerInformation")) { this.nextState = NewPawnLoanFlowState.ViewCustomerInformation; } else if (custDet.Equals("ViewCustomerInformationReadOnly")) { this.nextState = NewPawnLoanFlowState.ViewReadOnlyCustomerInformation; } } break; case NavBox.NavAction.BACK: GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back(); this.nextState = NewPawnLoanFlowState.LookupCustomer; break; default: throw new ApplicationException("" + action.ToString() + " is not a valid state for LookupCustomerResults"); } this.executeNextState(); }
/// <summary> /// /// </summary> /// <param name="sender"></param> /// <param name="data"></param> private void existCustomerFormNavAction(object sender, object data) { if (sender == null || data == null) { throw new ApplicationException("Existing customer form navigation action handler received invalid data"); } NavBox existCustNavBox = (NavBox)sender; ExistingCustomer existCustForm = (ExistingCustomer)data; NavBox.NavAction action = existCustNavBox.Action; if (action == NavBox.NavAction.BACKANDSUBMIT) { GlobalDataAccessor.Instance.DesktopSession.HistorySession.Back(); action = NavBox.NavAction.SUBMIT; } switch (action) { case NavBox.NavAction.SUBMIT: if (existCustNavBox.IsCustom) { string custDet = existCustNavBox.CustomDetail; if (custDet.Equals("ManagePawnApplication")) { this.nextState = NewPawnLoanFlowState.ManagePawnApplication; } else if (custDet.Equals("ViewPawnCustomerInformation")) { this.nextState = NewPawnLoanFlowState.ViewCustomerInformation; } } break; case NavBox.NavAction.BACK: this.nextState = NewPawnLoanFlowState.LookupCustomer; break; case NavBox.NavAction.CANCEL: this.nextState = NewPawnLoanFlowState.CancelFlow; break; } this.executeNextState(); }
/// <summary> /// NavBox OnAction Handler for View Customer INformation /// </summary> /// <param name="sender"></param> /// <param name="data"></param> private void viewCustInfoFormNavAction(object sender, object data) { if (sender == null || data == null) { throw new ApplicationException("View Customer Info form navigation action handler received invalid data"); } NavBox viewCustInfoNavBox = (NavBox)sender; ViewCustomerInformation viewcustform = (ViewCustomerInformation)data; NavBox.NavAction lookupAction = viewCustInfoNavBox.Action; switch (lookupAction) { case NavBox.NavAction.BACK: this.nextState = NewPawnLoanFlowState.CancelFlow; break; default: throw new ApplicationException("" + lookupAction.ToString() + " is not a valid state for View Customer INformation"); } this.executeNextState(); }