コード例 #1
0
        private void GotoStep(CheckoutStepEnum step)
        {
            foreach (var wizardStep in WizardSteps)
            {
                wizardStep.IsActive = wizardStep.Step == step;
            }

            _currentStep = step;

            switch (step)
            {
            case CheckoutStepEnum.PersonalInfo:
                StepView = new PersonalInfoStepView()
                {
                    Data = _personalInfoStepData,
                    WizardBackCommand = WizardBackCommand,
                    WizardNextCommand = WizardNextCommand,
                };
                break;

            case CheckoutStepEnum.PhoneNumber:
                StepView = new PhoneNumberStepView()
                {
                    Data = _phoneNumberStepData,
                    WizardBackCommand = WizardBackCommand,
                    WizardNextCommand = WizardNextCommand,
                };
                break;

            case CheckoutStepEnum.DeliveryInfo:
                StepView = new DeliveryInfoStepView()
                {
                    Data = _deliveryInfoStepData,
                    WizardBackCommand = WizardBackCommand,
                    WizardNextCommand = WizardNextCommand,
                };
                break;

            case CheckoutStepEnum.OrderConfirmation:
                StepView = new OrderConfirmationStepView()
                {
                    WizardBackCommand = WizardBackCommand,
                    WizardNextCommand = WizardNextCommand,
                };
                break;

            case CheckoutStepEnum.PaymentInfo:
                StepView = new PaymentInfoStepView()
                {
                    Data = _paymentInfoStepData,
                    WizardBackCommand = WizardBackCommand,
                    WizardNextCommand = WizardNextCommand,
                };
                break;

            default:
                StepView = null;
                break;
            }
        }
コード例 #2
0
        public CheckoutWizardStep(CheckoutStepEnum step)
        {
            Step       = step;
            StepNumber = (int)step;

            UpdateState();
        }
コード例 #3
0
        private void SetWizardStepValue(CheckoutStepEnum step, string value)
        {
            var wizardStep = WizardSteps
                             .Where(x => x.Step == step)
                             .FirstOrDefault();

            if (wizardStep != null)
            {
                wizardStep.Value = value;
            }
        }
コード例 #4
0
        protected void SelectPane(CheckoutStepEnum step)
        {
            cpeShippingAddress.ClientState = "true";
            cpeBillingAddress.ClientState = "true";
            cpeShippingMethods.ClientState = "true";
            //cpePaymentMethods.ClientState = "true";
            //cpePaymentInfo.ClientState = "true";
            cpeConfirm.ClientState = "true";

            cpeShippingAddress.Collapsed = true;
            cpeBillingAddress.Collapsed = true;
            cpeShippingMethods.Collapsed = true;
            //cpePaymentMethods.Collapsed = true;
            //cpePaymentInfo.Collapsed = true;
            cpeConfirm.Collapsed = true;

            btnModifyShippingAddress.Enabled = false;
            btnModifyBillingAddress.Enabled = false;
            btnModifyShippingMethod.Enabled = false;
            //btnModifyPaymentMethod.Enabled = false;
            //btnModifyPaymentInfo.Enabled = false;

            //process step selection
            switch (step)
            {
                case CheckoutStepEnum.ShippingAddress:
                    if (this.ShippingService.ShoppingCartRequiresShipping(Cart))
                    {
                        cpeShippingAddress.Collapsed = false;
                        cpeShippingAddress.ClientState = "false";
                        ctrlCheckoutShippingAddress.BindData();
                    }
                    else
                    {
                        SelectPane(CheckoutStepEnum.BillingAddress);
                    }
                    break;

                case CheckoutStepEnum.BillingAddress:

                    btnModifyShippingAddress.Enabled = true;

                    cpeBillingAddress.ClientState = "false";
                    cpeBillingAddress.Collapsed = false;
                    ctrlCheckoutBillingAddress.BindData();
                    break;

                case CheckoutStepEnum.ShippingMethod:
                    if (this.ShippingService.ShoppingCartRequiresShipping(Cart))
                    {

                        btnModifyShippingAddress.Enabled = true;
                        btnModifyBillingAddress.Enabled = true;

                        cpeShippingMethods.ClientState = "false";
                        cpeShippingMethods.Collapsed = false;
                        ctrlCheckoutShippingMethod.BindData();
                    }
                    else
                    {
                        //SelectPane(CheckoutStepEnum.PaymentMethod);
                        ctrlCheckoutPaymentMethod.BindData();
                        ctrlCheckoutPaymentInfo.BindData();
                        SelectPane(CheckoutStepEnum.Confirm);
                    }
                    break;

                case CheckoutStepEnum.PaymentMethod:

                    btnModifyShippingAddress.Enabled = true;
                    btnModifyBillingAddress.Enabled = true;
                    btnModifyShippingMethod.Enabled = true;

                    //cpePaymentMethods.ClientState = "false";
                    //cpePaymentMethods.Collapsed = false;
                    //ctrlCheckoutPaymentMethod.BindData();
                    break;

                case CheckoutStepEnum.PaymentInfo:
                    bool isPaymentWorkflowRequired = IsPaymentWorkflowRequired();
                    PaymentMethod paymentMethod = null;
                    if (NopContext.Current.User != null)
                    {
                        paymentMethod = NopContext.Current.User.LastPaymentMethod;
                    }
                    if ((paymentMethod != null && paymentMethod.IsActive) || //validate payment method
                        !isPaymentWorkflowRequired) //or payment workflow is not required
                    {
                        btnModifyShippingAddress.Enabled = true;
                        btnModifyBillingAddress.Enabled = true;
                        btnModifyShippingMethod.Enabled = true;
                        //btnModifyPaymentMethod.Enabled = true;

                        //cpePaymentInfo.ClientState = "false";
                        //cpePaymentInfo.Collapsed = false;
                        //ctrlCheckoutPaymentInfo.LoadPaymentControl();
                        //ctrlCheckoutPaymentInfo.BindData();
                    }
                    else
                    {
                        SelectPane(CheckoutStepEnum.Confirm);
                    }
                    break;

                case CheckoutStepEnum.Confirm:

                    btnModifyShippingAddress.Enabled = true;
                    btnModifyBillingAddress.Enabled = true;
                    btnModifyShippingMethod.Enabled = true;
                    //btnModifyPaymentMethod.Enabled = true;
                    //btnModifyPaymentInfo.Enabled = true;

                    cpeConfirm.ClientState = "false";
                    cpeConfirm.Collapsed = false;
                    ctrlCheckoutConfirm.BindData();
                    OrderSummaryControl.BindData();
                    break;

                default:
                    throw new NopException("Not supported checkout step");
            }
        }
コード例 #5
0
        protected void SelectPane(CheckoutStepEnum step)
        {
            cpeShippingAddress.ClientState = "true";
            cpeBillingAddress.ClientState = "true";
            cpeShippingMethods.ClientState = "true";
            cpePaymentMethods.ClientState = "true";
            cpePaymentInfo.ClientState = "true";
            cpeConfirm.ClientState = "true";

            cpeShippingAddress.Collapsed = true;
            cpeBillingAddress.Collapsed = true;
            cpeShippingMethods.Collapsed = true;
            cpePaymentMethods.Collapsed = true;
            cpePaymentInfo.Collapsed = true;
            cpeConfirm.Collapsed = true;

            btnModifyShippingAddress.Enabled = false;
            btnModifyBillingAddress.Enabled = false;
            btnModifyShippingMethod.Enabled = false;
            btnModifyPaymentMethod.Enabled = false;
            btnModifyPaymentInfo.Enabled = false;

            //process step selection
            switch(step)
            {
                case CheckoutStepEnum.ShippingAddress:
                    if(ShippingManager.ShoppingCartRequiresShipping(Cart))
                    {
                        cpeShippingAddress.Collapsed = false;
                        cpeShippingAddress.ClientState = "false";
                        ctrlCheckoutShippingAddress.BindData();
                    }
                    else
                    {
                        SelectPane(CheckoutStepEnum.BillingAddress);
                    }
                    break;

                case CheckoutStepEnum.BillingAddress:

                    btnModifyShippingAddress.Enabled = true;

                    cpeBillingAddress.ClientState = "false";
                    cpeBillingAddress.Collapsed = false;
                    ctrlCheckoutBillingAddress.BindData();
                    break;

                case CheckoutStepEnum.ShippingMethod:
                    if(ShippingManager.ShoppingCartRequiresShipping(Cart))
                    {

                        btnModifyShippingAddress.Enabled = true;
                        btnModifyBillingAddress.Enabled = true;

                        cpeShippingMethods.ClientState = "false";
                        cpeShippingMethods.Collapsed = false;
                        ctrlCheckoutShippingMethod.BindData();
                    }
                    else
                    {
                        SelectPane(CheckoutStepEnum.PaymentMethod);
                    }
                    break;

                case CheckoutStepEnum.PaymentMethod:

                    btnModifyShippingAddress.Enabled = true;
                    btnModifyBillingAddress.Enabled = true;
                    btnModifyShippingMethod.Enabled = true;

                    cpePaymentMethods.ClientState = "false";
                    cpePaymentMethods.Collapsed = false;
                    ctrlCheckoutPaymentMethod.BindData();
                    break;

                case CheckoutStepEnum.PaymentInfo:
                    PaymentMethod paymentMethod = null;
                    if(NopContext.Current.User != null)
                    {
                        paymentMethod = NopContext.Current.User.LastPaymentMethod;
                    }
                    if(paymentMethod != null && paymentMethod.IsActive)
                    {
                        btnModifyShippingAddress.Enabled = true;
                        btnModifyBillingAddress.Enabled = true;
                        btnModifyShippingMethod.Enabled = true;
                        btnModifyPaymentMethod.Enabled = true;

                        cpePaymentInfo.ClientState = "false";
                        cpePaymentInfo.Collapsed = false;
                        ctrlCheckoutPaymentInfo.LoadPaymentControl();
                        ctrlCheckoutPaymentInfo.BindData();
                    }
                    else
                    {
                        SelectPane(CheckoutStepEnum.PaymentMethod);
                    }
                    break;

                case CheckoutStepEnum.Confirm:

                    btnModifyShippingAddress.Enabled = true;
                    btnModifyBillingAddress.Enabled = true;
                    btnModifyShippingMethod.Enabled = true;
                    btnModifyPaymentMethod.Enabled = true;
                    btnModifyPaymentInfo.Enabled = true;

                    cpeConfirm.ClientState = "false";
                    cpeConfirm.Collapsed = false;
                    ctrlCheckoutConfirm.BindData();
                    OrderSummaryControl.BindData();
                    break;

                default:
                    throw new NopException("Not supported checkout step");
            }
        }
コード例 #6
0
        protected void SelectPane(CheckoutStepEnum step)
        {
            cpeShippingAddress.ClientState = "true";
            cpeBillingAddress.ClientState  = "true";
            cpeShippingMethods.ClientState = "true";
            cpePaymentMethods.ClientState  = "true";
            cpePaymentInfo.ClientState     = "true";
            cpeConfirm.ClientState         = "true";

            cpeShippingAddress.Collapsed = true;
            cpeBillingAddress.Collapsed  = true;
            cpeShippingMethods.Collapsed = true;
            cpePaymentMethods.Collapsed  = true;
            cpePaymentInfo.Collapsed     = true;
            cpeConfirm.Collapsed         = true;

            btnModifyShippingAddress.Enabled = false;
            btnModifyBillingAddress.Enabled  = false;
            btnModifyShippingMethod.Enabled  = false;
            btnModifyPaymentMethod.Enabled   = false;
            btnModifyPaymentInfo.Enabled     = false;


            //process step selection
            switch (step)
            {
            case CheckoutStepEnum.ShippingAddress:
                if (this.ShippingService.ShoppingCartRequiresShipping(Cart))
                {
                    cpeShippingAddress.Collapsed   = false;
                    cpeShippingAddress.ClientState = "false";
                    ctrlCheckoutShippingAddress.BindData();
                }
                else
                {
                    SelectPane(CheckoutStepEnum.BillingAddress);
                }
                break;

            case CheckoutStepEnum.BillingAddress:

                btnModifyShippingAddress.Enabled = true;

                cpeBillingAddress.ClientState = "false";
                cpeBillingAddress.Collapsed   = false;
                ctrlCheckoutBillingAddress.BindData();
                break;

            case CheckoutStepEnum.ShippingMethod:
                if (this.ShippingService.ShoppingCartRequiresShipping(Cart))
                {
                    btnModifyShippingAddress.Enabled = true;
                    btnModifyBillingAddress.Enabled  = true;

                    cpeShippingMethods.ClientState = "false";
                    cpeShippingMethods.Collapsed   = false;
                    ctrlCheckoutShippingMethod.BindData();
                }
                else
                {
                    SelectPane(CheckoutStepEnum.PaymentMethod);
                }
                break;

            case CheckoutStepEnum.PaymentMethod:

                btnModifyShippingAddress.Enabled = true;
                btnModifyBillingAddress.Enabled  = true;
                btnModifyShippingMethod.Enabled  = true;

                cpePaymentMethods.ClientState = "false";
                cpePaymentMethods.Collapsed   = false;
                ctrlCheckoutPaymentMethod.BindData();
                break;

            case CheckoutStepEnum.PaymentInfo:
                bool          isPaymentWorkflowRequired = IsPaymentWorkflowRequired();
                PaymentMethod paymentMethod             = null;
                if (NopContext.Current.User != null)
                {
                    paymentMethod = NopContext.Current.User.LastPaymentMethod;
                }
                if ((paymentMethod != null && paymentMethod.IsActive) || //validate payment method
                    !isPaymentWorkflowRequired)                          //or payment workflow is not required
                {
                    btnModifyShippingAddress.Enabled = true;
                    btnModifyBillingAddress.Enabled  = true;
                    btnModifyShippingMethod.Enabled  = true;
                    btnModifyPaymentMethod.Enabled   = true;

                    cpePaymentInfo.ClientState = "false";
                    cpePaymentInfo.Collapsed   = false;
                    ctrlCheckoutPaymentInfo.LoadPaymentControl();
                    ctrlCheckoutPaymentInfo.BindData();
                }
                else
                {
                    SelectPane(CheckoutStepEnum.PaymentMethod);
                }
                break;

            case CheckoutStepEnum.Confirm:

                btnModifyShippingAddress.Enabled = true;
                btnModifyBillingAddress.Enabled  = true;
                btnModifyShippingMethod.Enabled  = true;
                btnModifyPaymentMethod.Enabled   = true;
                btnModifyPaymentInfo.Enabled     = true;

                cpeConfirm.ClientState = "false";
                cpeConfirm.Collapsed   = false;
                ctrlCheckoutConfirm.BindData();
                OrderSummaryControl.BindData();
                break;

            default:
                throw new NopException("Not supported checkout step");
            }
        }