示例#1
0
 protected void CheckedOut(object sender, CheckedOutEventArgs e)
 {
     // MAILING LIST SIGNUP
     if (EmailListsPanel.Visible && EmailLists.Items.Count > 0)
     {
         string            email      = string.IsNullOrEmpty(AbleContext.Current.User.Email) ? AbleContext.Current.User.PrimaryAddress.Email : AbleContext.Current.User.Email;
         int               listIndex  = 0;
         IList <EmailList> emailLists = GetPublicEmailLists();
         if (emailLists != null && emailLists.Count > 0)
         {
             foreach (ListViewDataItem item in EmailLists.Items)
             {
                 EmailList list     = emailLists[listIndex];
                 CheckBox  selected = (CheckBox)item.FindControl("Selected");
                 if (selected != null)
                 {
                     if (selected.Checked)
                     {
                         list.ProcessSignupRequest(email);
                     }
                     else
                     {
                         list.RemoveMember(email);
                     }
                 }
                 else
                 {
                     list.RemoveMember(email);
                 }
                 listIndex++;
             }
         }
     }
 }
        void CheckedOut(object sender, CheckedOutEventArgs e)
        {
            CheckoutResponse response = e.CheckoutResponse;

            if (response.Success)
            {
                // STOP TRACKING THE ANONYMOUS USER
                Session["CreateOrder_AnonUserId"] = null;

                // CREATE / LINK USER ACCOUNT IF NEEDED
                if (RegisterPanel.Visible && CreateAccount.Checked)
                {
                    if (_ExistingUser == null)
                    {
                        // THERE IS NO EXISTING ACCOUNT, SO CREATE A NEW USER
                        string email = _User.PrimaryAddress.Email;
                        _User.UserName   = email;
                        _User.Email      = email;
                        _User.IsApproved = true;
                        _User.Save();
                        _User.SetPassword(Password.Text);
                        _User.Passwords[0].ForceExpiration = ForceExpiration.Checked;
                        _User.Save();
                    }
                    else
                    {
                        // THERE IS AN EXISTING USER, SO MIGRATE THIS ORDER
                        OrderDataSource.UpdateUser(_UserId, _ExistingUser.Id);
                        AddressDataSource.UpdateUser(_UserId, _ExistingUser.Id);
                    }
                }

                // REDIRECT TO THE FINAL ORDER
                Response.Redirect("~/Admin/Orders/ViewOrder.aspx?OrderNumber=" + response.Order.OrderNumber);
            }
            else
            {
                // SHOW ERRORS TO CUSTOMER
                WarningMessageList.DataSource = e.CheckoutResponse.WarningMessages;
                WarningMessageList.DataBind();
            }
        }
        private void HandleCheckoutResponse(object sender, CheckedOutEventArgs e)
        {
            if (!e.CheckoutResponse.Success)
            {
                // SHOW ERRORS TO CUSTOMER
                WarningMessageList.DataSource = e.CheckoutResponse.WarningMessages;
                WarningMessageList.DataBind();

                // protect against repeated failures
                IncreaseFailureCount();
                int failureCount = GetFailureCount();
                if (failureCount >= _MaxPaymentFailures)
                {
                    DisablePayments();
                }
            }

            if (CheckedOut != null)
            {
                CheckedOut(this, e);
            }
        }