Exemple #1
0
    protected void Page_Load(object sender, EventArgs e)
    {
        // No payment provider loaded -> skip payment
        if (ShoppingCartControl.PaymentGatewayProvider == null)
        {
            // Clean current order payment result when editing existing order and payment was skipped
            if ((ShoppingCartControl.CheckoutProcessType == CheckoutProcessEnum.CMSDeskOrderItems) &&
                !ShoppingCartControl.IsCurrentStepPostBack)
            {
                CleanUpOrderPaymentResult();
            }

            // Raise payment skipped
            ShoppingCartControl.RaisePaymentSkippedEvent();

            // When on the live site
            if (!ShoppingCartControl.IsInternalOrder)
            {
                // Get Url the user should be redirected to
                string url = ShoppingCartControl.GetRedirectAfterPurchaseUrl();

                // Remove shopping cart data from database and from session
                ShoppingCartControl.CleanUpShoppingCart();

                URLHelper.Redirect(UrlResolver.ResolveUrl(!string.IsNullOrEmpty(url) ? url : ShoppingCartControl.PreviousPageUrl));
            }
        }
        else if (ShoppingCart != null)
        {
            LoadData();
        }
    }
Exemple #2
0
 /// <summary>
 /// Preselects shipping option.
 /// </summary>
 protected void SelectShippingOption()
 {
     try
     {
         // Try to select shipping from ViewState first
         object viewStateValue = ShoppingCartControl.GetTempValue(SHIPPING_OPTION_ID);
         if (viewStateValue != null)
         {
             selectShipping.ShippingID = Convert.ToInt32(viewStateValue);
         }
         // Try to select shipping option according to saved option in shopping cart object
         else if (ShoppingCart.ShoppingCartShippingOptionID > 0)
         {
             selectShipping.ShippingID = ShoppingCart.ShoppingCartShippingOptionID;
         }
         // Try to select shipping option according to user preffered option
         else
         {
             CustomerInfo customer         = ShoppingCart.Customer;
             int          shippingOptionId = (customer.CustomerUser != null) ? customer.CustomerUser.GetUserPreferredShippingOptionID(SiteContext.CurrentSiteName) : 0;
             if (shippingOptionId > 0)
             {
                 selectShipping.ShippingID = shippingOptionId;
             }
         }
     }
     catch
     {
     }
 }
Exemple #3
0
 /// <summary>
 /// Preselects payment option.
 /// </summary>
 protected void SelectPaymentOption()
 {
     try
     {
         // Try to select payment from ViewState first
         object viewStateValue = ShoppingCartControl.GetTempValue(PAYMENT_OPTION_ID);
         if (viewStateValue != null)
         {
             selectPayment.PaymentID = Convert.ToInt32(viewStateValue);
         }
         // Try to select payment option according to saved option in shopping cart object
         else if (ShoppingCart.ShoppingCartPaymentOptionID > 0)
         {
             selectPayment.PaymentID = ShoppingCart.ShoppingCartPaymentOptionID;
         }
         // Try to select payment option according to user preffered option
         else
         {
             CustomerInfo customer        = ShoppingCart.Customer;
             int          paymentOptionId = (customer.CustomerUser != null) ? customer.CustomerUser.GetUserPreferredPaymentOptionID(SiteContext.CurrentSiteName) : 0;
             if (paymentOptionId > 0)
             {
                 selectPayment.PaymentID = paymentOptionId;
             }
         }
     }
     catch
     {
     }
 }
Exemple #4
0
    public override bool ProcessStep()
    {
        try
        {
            //int paymentID = ValidationHelper.GetInteger(SessionHelper.GetValue("PaymentID"), 0);
            int paymentID = ShippingExtendedInfoProvider.GetCustomFieldValue(ShoppingCart, "ShoppingCartPaymentID");

            // Cleanup the ShoppingCart ViewState
            ShoppingCartControl.SetTempValue(SHIPPING_OPTION_ID, null);

            ShoppingCartControl.SetTempValue(PAYMENT_OPTION_ID, null);

            //ShoppingCart.ShoppingCartShippingOptionID = selectShipping.ShippingID;
            //ShoppingCart.ShoppingCartPaymentOptionID = selectPayment.PaymentID;
            ShoppingCart.ShoppingCartShippingOptionID = IsShippingNeeded ? GetShippingID() : selectShipping.ShippingID;
            ShoppingCart.ShoppingCartPaymentOptionID  = paymentID;

            // Update changes in database only when on the live site
            if (!ShoppingCartControl.IsInternalOrder)
            {
                ShoppingCartInfoProvider.SetShoppingCartInfo(ShoppingCart);
            }
            return(true);
        }
        catch (Exception ex)
        {
            lblError.Visible = true;
            lblError.Text    = ex.Message + " /step " + IsShippingNeeded.ToString();
            return(false);
        }
    }
Exemple #5
0
        private void InitializeDataSource()
        {
            cart = new ShoppingCart(ThisCustomer.SkinID, ThisCustomer, CartTypeEnum.ShoppingCart, 0, false, true);
            ShoppingCartControl ctrlMiniCart = this.FindControl("ctrlMiniCart") as ShoppingCartControl;

            ctrlMiniCart.DisplayMode = CartDisplayMode.MiniCart;

            List <CartItem> c = default(List <CartItem>);

            c = cart.CartItems.Where((CartItem n) => n.CartType.Equals((CartTypeEnum)101)).ToList();

            List <int> recItemToRemove = new List <int>();

            foreach (var ci in c)
            {
                recItemToRemove.Add(ci.ShoppingCartRecordID);
            }

            foreach (int a in recItemToRemove)
            {
                cart.SetItemQuantity(a, 0);
            }

            BindMiniCart();
        }
Exemple #6
0
 /// <summary>
 /// Preselects shipping option.
 /// </summary>
 protected void SelectShippingOption()
 {
     try
     {
         // Try to select shipping from ViewState first
         object viewStateValue = ShoppingCartControl.GetTempValue(SHIPPING_OPTION_ID);
         if (viewStateValue != null)
         {
             selectShipping.SelectedID = Convert.ToInt32(viewStateValue);
         }
         // Try to select shipping option according to saved option in shopping cart object
         else if (ShoppingCart.ShoppingCartShippingOptionID > 0)
         {
             selectShipping.SelectedID = ShoppingCart.ShoppingCartShippingOptionID;
         }
         // Try to select shipping option according to user preferred option
         else
         {
             if (mPreferences.ShippingOptionID.HasValue)
             {
                 selectShipping.SelectedID = mPreferences.ShippingOptionID.Value;
             }
         }
     }
     catch
     {
     }
 }
    public override void ButtonNextClickAction()
    {
        // Standard action - Process payment
        base.ButtonNextClickAction();

        if (ShoppingCartControl.PaymentGatewayProvider.IsPaymentCompleted)
        {
            // Remove current shopping cart data from session and from database
            ShoppingCartControl.CleanUpShoppingCart();

            // Live site
            if (!ShoppingCartControl.IsInternalOrder)
            {
                string url = "";
                if (ShoppingCartControl.RedirectAfterPurchase != "")
                {
                    url = DocumentURLProvider.GetUrl(ShoppingCartControl.RedirectAfterPurchase);
                }
                else
                {
                    url = DocumentURLProvider.GetUrl("/");
                }

                URLHelper.Redirect(url);
            }
        }
    }
Exemple #8
0
    public override bool ProcessStep()
    {
        try
        {
            // Cleanup the ShoppingCart ViewState
            ShoppingCartControl.SetTempValue(SHIPPING_OPTION_ID, null);
            ShoppingCartControl.SetTempValue(PAYMENT_OPTION_ID, null);

            ShoppingCart.ShoppingCartShippingOptionID = selectShipping.SelectedID;
            ShoppingCart.ShoppingCartPaymentOptionID  = selectPayment.SelectedID;

            // Update changes in database only when on the live site
            if (!ShoppingCartControl.IsInternalOrder)
            {
                ShoppingCartInfoProvider.SetShoppingCartInfo(ShoppingCart);
            }
            return(true);
        }
        catch (Exception ex)
        {
            lblError.Visible = true;
            lblError.Text    = ex.Message;
            return(false);
        }
    }
    public override void ButtonBackClickAction()
    {
        // Clean current order payment result when editing existing order and payment was skipped
        //if (this.ShoppingCartControl.CheckoutProcessType == CheckoutProcessEnum.CMSDeskOrderItems)
        //{
        //    CleanUpOrderPaymentResult();
        //}

        // Payment was skipped
        ShoppingCartControl.RaisePaymentSkippedEvent();

        // Remove current shopping cart data from session and from database
        ShoppingCartControl.CleanUpShoppingCart();

        // Live site - skip payment
        if (!ShoppingCartControl.IsInternalOrder)
        {
            string url = "";
            if (ShoppingCartControl.RedirectAfterPurchase != "")
            {
                url = DocumentURLProvider.GetUrl(ShoppingCartControl.RedirectAfterPurchase);
            }
            else
            {
                url = DocumentURLProvider.GetUrl("/");
            }

            URLHelper.Redirect(url);
        }
    }
    /// <summary>
    /// Back button actions.
    /// </summary>
    public override void ButtonBackClickAction()
    {
        // Save the values to ShoppingCart ViewState
        ShoppingCartControl.SetTempValue(ORDER_NOTE, txtNote.Text);

        base.ButtonBackClickAction();
    }
Exemple #11
0
    /// <summary>
    /// Back button actions.
    /// </summary>
    public override void ButtonBackClickAction()
    {
        // Save the values to ShoppingCart ViewState
        ShoppingCartControl.SetTempValue(SHIPPING_OPTION_ID, selectShipping.ShippingID);
        ShoppingCartControl.SetTempValue(PAYMENT_OPTION_ID, selectPayment.PaymentID);

        base.ButtonBackClickAction();
    }
Exemple #12
0
    public override void ButtonBackClickAction()
    {
        // Payment was skipped
        ShoppingCartControl.RaisePaymentSkippedEvent();

        // Remove current shopping cart data from session and from database
        ShoppingCartControl.CleanUpShoppingCart();
    }
    /// <summary>
    /// Saves order information from ShoppingCartInfo object to database as new order.
    /// </summary>
    public override bool ProcessStep()
    {
        // Load first step if there is no address
        if (ShoppingCart.ShoppingCartBillingAddress == null)
        {
            ShoppingCartControl.LoadStep(0);
            return(false);
        }

        // Deal with order note
        ShoppingCartControl.SetTempValue(ORDER_NOTE, null);
        ShoppingCart.ShoppingCartNote = TextHelper.LimitLength(txtNote.Text.Trim(), txtNote.MaxLength);

        try
        {
            // Set order culture
            ShoppingCart.ShoppingCartCulture = LocalizationContext.PreferredCultureCode;

            // Create order
            ShoppingCartInfoProvider.SetOrder(ShoppingCart);
        }
        catch (Exception ex)
        {
            // Show error
            lblError.Text = GetString("Ecommerce.OrderPreview.ErrorOrderSave");

            // Log exception
            Service.Resolve <IEventLogService>().LogException("Shopping cart", "SAVEORDER", ex, ShoppingCart.ShoppingCartSiteID);
            return(false);
        }

        // Track order activity
        string siteName = SiteContext.CurrentSiteName;

        if (LogActivityForCustomer)
        {
            var mainCurrency             = CurrencyInfoProvider.GetMainCurrency(ShoppingCart.ShoppingCartSiteID);
            var grandTotalInMainCurrency = Service.Resolve <ICurrencyConverterService>().Convert(ShoppingCart.GrandTotal, ShoppingCart.Currency.CurrencyCode, mainCurrency.CurrencyCode, ShoppingCart.ShoppingCartSiteID);
            var formattedPrice           = CurrencyInfoProvider.GetFormattedPrice(grandTotalInMainCurrency, mainCurrency);

            ShoppingCartControl.TrackActivityPurchasedProducts(ShoppingCart, siteName, ContactID);
            ShoppingCartControl.TrackActivityPurchase(ShoppingCart.OrderId, ContactID,
                                                      SiteContext.CurrentSiteName, RequestContext.CurrentRelativePath,
                                                      grandTotalInMainCurrency, formattedPrice);
        }

        // Raise finish order event
        ShoppingCartControl.RaiseOrderCompletedEvent();

        if (chkSendEmail.Checked)
        {
            // Send order notification emails
            OrderInfoProvider.SendOrderNotificationToAdministrator(ShoppingCart);
            OrderInfoProvider.SendOrderNotificationToCustomer(ShoppingCart);
        }

        return(true);
    }
    /// <summary>
    /// Back button actions.
    /// </summary>
    public override void ButtonBackClickAction()
    {
        // Save the values to ShoppingCart ViewState
        string note = TextHelper.LimitLength(txtNote.Text.Trim(), txtNote.MaxLength);

        ShoppingCartControl.SetTempValue(ORDER_NOTE, note);

        base.ButtonBackClickAction();
    }
Exemple #15
0
    protected void selectPayment_Changed(object sender, EventArgs e)
    {
        ShoppingCartControl.SetTempValue(PAYMENT_OPTION_ID, selectPayment.SelectedID);

        if (ShoppingCart != null)
        {
            ShoppingCart.ShoppingCartPaymentOptionID = selectPayment.SelectedID;
            ShoppingCart.Evaluate();
        }
    }
 /// <summary>
 /// Loads shipping address temp values.
 /// </summary>
 private void LoadShippingFromViewState()
 {
     txtShippingName.Text       = Convert.ToString(ShoppingCartControl.GetTempValue(SHIPPING_ADDRESS_NAME));
     txtShippingAddr1.Text      = Convert.ToString(ShoppingCartControl.GetTempValue(SHIPPING_ADDRESS_LINE1));
     txtShippingAddr2.Text      = Convert.ToString(ShoppingCartControl.GetTempValue(SHIPPING_ADDRESS_LINE2));
     txtShippingCity.Text       = Convert.ToString(ShoppingCartControl.GetTempValue(SHIPPING_ADDRESS_CITY));
     txtShippingZip.Text        = Convert.ToString(ShoppingCartControl.GetTempValue(SHIPPING_ADDRESS_ZIP));
     txtShippingPhone.Text      = Convert.ToString(ShoppingCartControl.GetTempValue(SHIPPING_ADDRESS_PHONE));
     CountrySelector2.CountryID = ValidationHelper.GetInteger(ShoppingCartControl.GetTempValue(SHIPPING_ADDRESS_COUNTRY_ID), 0);
     CountrySelector2.StateID   = ValidationHelper.GetInteger(ShoppingCartControl.GetTempValue(SHIPPING_ADDRESS_STATE_ID), 0);
 }
 /// <summary>
 /// Loads company address temp values.
 /// </summary>
 private void LoadCompanyFromViewState()
 {
     txtCompanyName.Text        = Convert.ToString(ShoppingCartControl.GetTempValue(COMPANY_ADDRESS_NAME));
     txtCompanyLine1.Text       = Convert.ToString(ShoppingCartControl.GetTempValue(COMPANY_ADDRESS_LINE1));
     txtCompanyLine2.Text       = Convert.ToString(ShoppingCartControl.GetTempValue(COMPANY_ADDRESS_LINE2));
     txtCompanyCity.Text        = Convert.ToString(ShoppingCartControl.GetTempValue(COMPANY_ADDRESS_CITY));
     txtCompanyZip.Text         = Convert.ToString(ShoppingCartControl.GetTempValue(COMPANY_ADDRESS_ZIP));
     txtCompanyPhone.Text       = Convert.ToString(ShoppingCartControl.GetTempValue(COMPANY_ADDRESS_PHONE));
     CountrySelector3.CountryID = ValidationHelper.GetInteger(ShoppingCartControl.GetTempValue(COMPANY_ADDRESS_COUNTRY_ID), 0);
     CountrySelector3.StateID   = ValidationHelper.GetInteger(ShoppingCartControl.GetTempValue(COMPANY_ADDRESS_STATE_ID), 0);
 }
 /// <summary>
 /// Removes billing address values from ShoppingCart ViewState.
 /// </summary>
 private void RemoveBillingTempValues()
 {
     // Billing address values
     ShoppingCartControl.SetTempValue(BILLING_ADDRESS_ID, null);
     ShoppingCartControl.SetTempValue(BILLING_ADDRESS_CITY, null);
     ShoppingCartControl.SetTempValue(BILLING_ADDRESS_COUNTRY_ID, null);
     ShoppingCartControl.SetTempValue(BILLING_ADDRESS_LINE1, null);
     ShoppingCartControl.SetTempValue(BILLING_ADDRESS_LINE2, null);
     ShoppingCartControl.SetTempValue(BILLING_ADDRESS_NAME, null);
     ShoppingCartControl.SetTempValue(BILLING_ADDRESS_PHONE, null);
     ShoppingCartControl.SetTempValue(BILLING_ADDRESS_STATE_ID, null);
     ShoppingCartControl.SetTempValue(BILLING_ADDRESS_ZIP, null);
 }
    protected void LoadBillingSelectedValue()
    {
        try
        {
            drpBillingAddr.ClearSelection();

            // Set billing address
            // Try to select billing address from ViewState first
            object viewStateValue = ShoppingCartControl.GetTempValue(BILLING_ADDRESS_ID);
            if (viewStateValue != null)
            {
                try
                {
                    drpBillingAddr.SelectedValue = Convert.ToString(viewStateValue);
                }
                catch
                {
                }
            }
            // If there is already selected billing address, set it
            else if (ShoppingCart.ShoppingCartBillingAddress != null)
            {
                try
                {
                    drpBillingAddr.SelectedValue = ShoppingCart.ShoppingCartBillingAddress.AddressID.ToString();
                }
                catch
                {
                }
            }
            // If there is last used billing address, set it
            else if (mLastUsedAddress.AddressID > 0)
            {
                try
                {
                    drpBillingAddr.SelectedValue = mLastUsedAddress.AddressID.ToString();
                }
                catch
                {
                }
            }
            else if (drpBillingAddr.Items.Count > 1)
            {
                drpBillingAddr.SelectedIndex = 1;
            }
        }
        catch
        {
        }
    }
 /// <summary>
 /// Removes company address values from ShoppingCart ViewState.
 /// </summary>
 private void RemoveCompanyTempValues()
 {
     // Company address values
     ShoppingCartControl.SetTempValue(COMPANY_ADDRESS_CHECKED, null);
     ShoppingCartControl.SetTempValue(COMPANY_ADDRESS_ID, null);
     ShoppingCartControl.SetTempValue(COMPANY_ADDRESS_CITY, null);
     ShoppingCartControl.SetTempValue(COMPANY_ADDRESS_COUNTRY_ID, null);
     ShoppingCartControl.SetTempValue(COMPANY_ADDRESS_LINE1, null);
     ShoppingCartControl.SetTempValue(COMPANY_ADDRESS_LINE2, null);
     ShoppingCartControl.SetTempValue(COMPANY_ADDRESS_NAME, null);
     ShoppingCartControl.SetTempValue(COMPANY_ADDRESS_PHONE, null);
     ShoppingCartControl.SetTempValue(COMPANY_ADDRESS_STATE_ID, null);
     ShoppingCartControl.SetTempValue(COMPANY_ADDRESS_ZIP, null);
 }
Exemple #21
0
    /// <summary>
    /// Loads selected shipping  address info.
    /// </summary>
    protected void LoadShippingAddressInfo()
    {
        // Load shipping info only if shipping part is visible
        if (plhShipping.Visible)
        {
            // Try to select company address from ViewState first
            if (!ShoppingCartControl.IsCurrentStepPostBack && ShoppingCartControl.GetTempValue(SHIPPING_ADDRESS_ID) != null)
            {
                LoadShippingFromViewState();
            }
            else
            {
                if (drpShippingAddr.SelectedValue != "0")
                {
                    var addressId = Convert.ToInt32(drpShippingAddr.SelectedValue);

                    var ai = AddressInfo.Provider.Get(addressId);
                    if (ai != null)
                    {
                        txtShippingName.Text       = ai.AddressPersonalName;
                        txtShippingAddr1.Text      = ai.AddressLine1;
                        txtShippingAddr2.Text      = ai.AddressLine2;
                        txtShippingCity.Text       = ai.AddressCity;
                        txtShippingZip.Text        = ai.AddressZip;
                        txtShippingPhone.Text      = ai.AddressPhone;
                        CountrySelector2.CountryID = ai.AddressCountryID;
                        CountrySelector2.StateID   = ai.AddressStateID;
                        CountrySelector2.ReloadData(true);
                    }
                }
                else
                {
                    // clean shipping part of the form
                    CleanForm(false, true, false);

                    // Prefill customer company name or full name
                    if ((ShoppingCart.Customer != null) &&
                        (ShoppingCart.Customer.CustomerCompany != ""))
                    {
                        txtShippingName.Text = ShoppingCart.Customer.CustomerCompany;
                    }
                    else
                    {
                        txtShippingName.Text = ShoppingCart.Customer.CustomerFirstName + " " + ShoppingCart.Customer.CustomerLastName;
                    }
                }
            }
        }
    }
    /// <summary>
    /// Loads selected company address info.
    /// </summary>
    protected void LoadCompanyAddressInfo()
    {
        // Load company address info only if company part is visible
        if (plcCompanyDetail.Visible)
        {
            // Try to select company address from ViewState first
            if (!ShoppingCartControl.IsCurrentStepPostBack && ShoppingCartControl.GetTempValue(COMPANY_ADDRESS_ID) != null)
            {
                LoadCompanyFromViewState();
            }
            else
            {
                if (drpCompanyAddress.SelectedValue != "0")
                {
                    var addressId = Convert.ToInt32(drpCompanyAddress.SelectedValue);

                    var ai = AddressInfoProvider.GetAddressInfo(addressId);
                    if (ai != null)
                    {
                        txtCompanyName.Text        = ai.AddressPersonalName;
                        txtCompanyLine1.Text       = ai.AddressLine1;
                        txtCompanyLine2.Text       = ai.AddressLine2;
                        txtCompanyCity.Text        = ai.AddressCity;
                        txtCompanyZip.Text         = ai.AddressZip;
                        txtCompanyPhone.Text       = ai.AddressPhone;
                        CountrySelector3.CountryID = ai.AddressCountryID;
                        CountrySelector3.StateID   = ai.AddressStateID;
                        CountrySelector3.ReloadData(true);
                    }
                }
                else
                {
                    // clean shipping part of the form
                    CleanForm(false, false, true);

                    // Prefill customer company name or full name
                    if ((ShoppingCart.Customer != null) &&
                        (ShoppingCart.Customer.CustomerCompany != ""))
                    {
                        txtCompanyName.Text = ShoppingCart.Customer.CustomerCompany;
                    }
                    else
                    {
                        txtCompanyName.Text = ShoppingCart.Customer.CustomerFirstName + " " + ShoppingCart.Customer.CustomerLastName;
                    }
                }
            }
        }
    }
Exemple #23
0
    protected void Page_Load(object sender, EventArgs e)
    {
        p.LogEvent("I", DateTime.Now, "ShoppingCartPaymentGateway ", "");
        // No payment provider loaded -> skip payment
        if (ShoppingCartControl.PaymentGatewayProvider == null)
        {
            // Clean current order payment result when editing existing order and payment was skipped
            if ((ShoppingCartControl.CheckoutProcessType == CheckoutProcessEnum.CMSDeskOrderItems) &&
                !ShoppingCartControl.IsCurrentStepPostBack)
            {
                p.LogEvent("I", DateTime.Now, "CleanUpOrderPaymentResult ", "");
                CleanUpOrderPaymentResult();
            }

            // Raise payment skipped
            ShoppingCartControl.RaisePaymentSkippedEvent();

            // When on the live site
            if (!ShoppingCartControl.IsInternalOrder)
            {
                // Get Url the user should be redirected to
                string url = ShoppingCartControl.GetRedirectAfterPurchaseUrl();

                // Remove shopping cart data from database and from session
                ShoppingCartControl.CleanUpShoppingCart();

                if (!string.IsNullOrEmpty(url))
                {
                    URLHelper.Redirect(url);
                }
                else
                {
                    URLHelper.Redirect(ShoppingCartControl.PreviousPageUrl);
                }
            }
            return;
        }
        else if (ShoppingCart != null)
        {
            p.LogEvent("I", DateTime.Now, "ShoppingCartControl.PaymentGatewayProvider != null ", "");
            LoadData();
        }

        lblTitle.Text      = GetString("PaymentSummary.Title");
        lblTotalPrice.Text = GetString("PaymentSummary.TotalPrice");
        lblOrderId.Text    = GetString("PaymentSummary.OrderId");
        lblPayment.Text    = GetString("PaymentSummary.Payment");
        this.ShoppingCartControl.ButtonNextClickAction();
    }
Exemple #24
0
    public override void ButtonBackClickAction()
    {
        // Payment was skipped
        ShoppingCartControl.RaisePaymentSkippedEvent();

        // Remove current shopping cart data from session and from database
        ShoppingCartControl.CleanUpShoppingCart();

        // Live site - skip payment
        if (!ShoppingCartControl.IsInternalOrder)
        {
            string url = DocumentURLProvider.GetUrl(ShoppingCartControl.RedirectAfterPurchase != "" ? ShoppingCartControl.RedirectAfterPurchase : "/");
            URLHelper.Redirect(UrlResolver.ResolveUrl(url));
        }
    }
Exemple #25
0
    public override bool ProcessStep()
    {
        if (ShoppingCartControl.PaymentGatewayProvider != null)
        {
            // Skip payment when already paid except when editing existing order or user is not authorized
            if (((!IsPaymentCompletedOrAuthorized()) || (ShoppingCartControl.CheckoutProcessType == CheckoutProcessEnum.CMSDeskOrderItems)) &&
                ShoppingCartControl.PaymentGatewayProvider.IsUserAuthorizedToFinishPayment(MembershipContext.AuthenticatedUser, ShoppingCartControl.ShoppingCartInfoObj, !IsLiveSite))
            {
                var data = mPaymentDataForm.GetPaymentGatewayData();
                mPaymentResult = Service.Resolve <IPaymentGatewayProcessor>().ProcessPayment(ShoppingCartControl.PaymentGatewayProvider, data);
            }

            // Show info message
            if (!string.IsNullOrEmpty(ShoppingCartControl.PaymentGatewayProvider.InfoMessage))
            {
                lblInfo.Visible = true;
                lblInfo.Text    = ShoppingCartControl.PaymentGatewayProvider.InfoMessage;
            }

            // Show error message
            if (!string.IsNullOrEmpty(ShoppingCartControl.PaymentGatewayProvider.ErrorMessage))
            {
                lblError.Visible = true;
                lblError.Text    = ShoppingCartControl.PaymentGatewayProvider.ErrorMessage;
                return(false);
            }

            if (IsPaymentCompleted())
            {
                // Delete current shopping cart after successful payment attempt
                ShoppingCartControl.CleanUpShoppingCart();

                // Raise payment completed event
                ShoppingCartControl.RaisePaymentCompletedEvent();

                return(true);
            }

            if (IsPaymentAuthorized())
            {
                ShoppingCartControl.CleanUpShoppingCart();

                return(true);
            }
        }

        return(false);
    }
    protected void btnEmpty_Click1(object sender, EventArgs e)
    {
        if (ShoppingCart != null)
        {
            // Log activity "product removed" for all items in shopping cart
            string siteName = SiteContext.CurrentSiteName;
            if (!ShoppingCartControl.IsInternalOrder)
            {
                ShoppingCartControl.TrackActivityAllProductsRemovedFromShoppingCart(ShoppingCart, siteName, ContactID);
            }

            ShoppingCartInfoProvider.EmptyShoppingCart(ShoppingCart);

            ReloadData();
        }
    }
Exemple #27
0
        protected void ctrlMiniCart_OnMiniCartItemUpdate(object sender, EventArgs e)
        {
            ShoppingCartControl ctrlMiniCart = this.FindControl("ctrlMiniCart") as ShoppingCartControl;

            int                quantity      = 0;
            int                sRecID        = 0;
            string             itemNotes     = string.Empty;
            CartItemCollection cartItemsCopy = null;

            for (int i = 0; i < ctrlMiniCart.Items.Count; i++)
            {
                quantity  = ctrlMiniCart.Items[i].Quantity;
                sRecID    = ctrlMiniCart.Items[i].ShoppingCartRecId;
                itemNotes = ctrlMiniCart.Items[i].ItemNotes;

                //prevent negative quantities
                if (quantity > 0)
                {
                    cart.SetItemQuantity(sRecID, quantity);
                    cart.SetItemNotes(sRecID, CommonLogic.CleanLevelOne(itemNotes));
                }
                else
                {
                    cart.SetItemQuantity(sRecID, 0);
                    cart.SetItemNotes(sRecID, CommonLogic.CleanLevelOne(itemNotes));
                }

                cart.CheckMinimumQuantities(ThisCustomer.CustomerID);
                cartItemsCopy = cart.CartItems;
            }

            cart = new ShoppingCart(ThisCustomer.SkinID, ThisCustomer, CartTypeEnum.ShoppingCart, 0, false, true);

            foreach (var a in cartItemsCopy.Where(n => n.MinimumQuantityUdpated.Equals(true)))
            {
                for (int i = 0; i < cart.CartItems.Count; i++)
                {
                    if (cart.CartItems[i].ShoppingCartRecordID == a.ShoppingCartRecordID)
                    {
                        cart.CartItems[i].MinimumQuantityUdpated = a.MinimumQuantityUdpated;
                        break;
                    }
                }
            }
            BindMiniCart();
        }
Exemple #28
0
    public override bool ProcessStep()
    {
        if (ShoppingCartControl.PaymentGatewayProvider != null)
        {
            // Process current step payment gateway custom data
            ShoppingCartControl.PaymentGatewayProvider.ProcessCustomData();

            // Skip payment when already paid except when editing existing order or user is not authorized
            if (((!ShoppingCartControl.PaymentGatewayProvider.IsPaymentCompleted) ||
                 (ShoppingCartControl.CheckoutProcessType == CheckoutProcessEnum.CMSDeskOrderItems)) &&
                ShoppingCartControl.PaymentGatewayProvider.IsUserAuthorizedToFinishPayment(MembershipContext.AuthenticatedUser, ShoppingCartControl.ShoppingCartInfoObj, !IsLiveSite))
            {
                // Process payment
                ShoppingCartControl.PaymentGatewayProvider.ProcessPayment();
            }

            // Show info message
            if (ShoppingCartControl.PaymentGatewayProvider.InfoMessage != "")
            {
                lblInfo.Visible = true;
                lblInfo.Text    = ShoppingCartControl.PaymentGatewayProvider.InfoMessage;
            }

            // Show error message
            if (ShoppingCartControl.PaymentGatewayProvider.ErrorMessage != "")
            {
                lblError.Visible = true;
                lblError.Text    = ShoppingCartControl.PaymentGatewayProvider.ErrorMessage;
                return(false);
            }

            if (ShoppingCartControl.PaymentGatewayProvider.IsPaymentCompleted)
            {
                // Delete current shopping cart after successful payment attempt
                ShoppingCartControl.CleanUpShoppingCart();
                // Raise payment completed event
                ShoppingCartControl.RaisePaymentCompletedEvent();
                return(true);
            }
        }

        return(false);
    }
Exemple #29
0
    public override bool ProcessStep()
    {
        try
        {
            // Cleanup the ShoppingCart ViewState
            ShoppingCartControl.SetTempValue(SHIPPING_OPTION_ID, null);
            ShoppingCartControl.SetTempValue(PAYMENT_OPTION_ID, null);

            ShoppingCart.ShoppingCartShippingOptionID = selectShipping.SelectedID;
            ShoppingCart.ShoppingCartPaymentOptionID  = selectPayment.SelectedID;

            return(true);
        }
        catch (Exception ex)
        {
            lblError.Visible = true;
            lblError.Text    = ex.Message;
            return(false);
        }
    }
Exemple #30
0
 /// <summary>
 /// Preselects payment option.
 /// </summary>
 protected void SelectPaymentOption()
 {
     try
     {
         // Try to select payment from ViewState first
         object viewStateValue = ShoppingCartControl.GetTempValue(PAYMENT_OPTION_ID);
         if (viewStateValue != null)
         {
             selectPayment.SelectedID = Convert.ToInt32(viewStateValue);
         }
         // Try to select payment option according to saved option in shopping cart object
         else if (ShoppingCart.ShoppingCartPaymentOptionID > 0)
         {
             selectPayment.SelectedID = ShoppingCart.ShoppingCartPaymentOptionID;
         }
     }
     catch
     {
     }
 }