Exemplo n.º 1
0
        protected override void OnPreRender(EventArgs e)
        {
            var       calc          = new DiscountCalculatorCustom();
            var       ordersManager = OrdersManager.GetManager();
            CartOrder shoppingCart  = GetShoppingCartForUser(ordersManager);
            var       items         = new List <CartDiscount>();

            if (shoppingCart.UserId != null && shoppingCart.UserId != Guid.Empty)
            {
                var user  = UserManager.GetManager().GetUser((Guid)shoppingCart.UserId);
                var roles = RoleManager.GetManager().GetRolesForUser(user.Id).ToList();
                items = calc.GetNotApplicableCartDiscounts(shoppingCart, shoppingCart.SubTotalDisplay, user, roles).ToList();
            }
            else
            {
                items = calc.GetNotApplicableCartDiscounts(shoppingCart, shoppingCart.SubTotalDisplay, null, null).ToList();
            }
            if (items != null && items.Count > 0)
            {
                var sb = new StringBuilder();
                sb.Append("The following discounts are not applicable:");
                foreach (var item in items)
                {
                    sb.Append(item.Title);
                    sb.Append(", ");
                }
                sb.Length -= 2;
                this.MessageLabel.Text = sb.ToString();
            }

            base.OnPreRender(e);
        }
Exemplo n.º 2
0
        protected override decimal GetDiscountTotal(CartOrder cartOrder, User user, List <Role> userRoles, bool useExchangeRate)
        {
            decimal totalBasePriceNoExchangeRate = GetTotalBasePriceNoExchangeRate(cartOrder);
            decimal exchangeRateSubTotal         = GetSubTotalTaxInclusive(cartOrder, useExchangeRate);
            decimal sumRoundedOrderDiscounts     = new DiscountCalculatorCustom().SumRoundedOrderDiscounts(cartOrder, exchangeRateSubTotal, totalBasePriceNoExchangeRate, user, userRoles, useExchangeRate);

            return(sumRoundedOrderDiscounts);
        }
Exemplo n.º 3
0
        protected override decimal GetWithoutShippingTax(CartOrder cartOrder, User user, List <Role> userRoles, bool useExchangeRate)
        {
            decimal taxOnTotalBasePrice = GetPreDiscountTax(cartOrder, useExchangeRate);
            decimal totalBasePrice      = GetSubTotalWithoutTaxes(cartOrder, useExchangeRate);

            decimal totalBasePriceNoExchangeRate = GetTotalBasePriceNoExchangeRate(cartOrder);

            decimal discountTotal = new DiscountCalculatorCustom().CalculateAndApplyOrderDiscounts(cartOrder, totalBasePriceNoExchangeRate, user, userRoles, useExchangeRate);

            decimal withoutShippingTax = 0;
            var     taxDisplayMode     = EcommerceSettings.Taxes.TaxDisplayMode;

            if (taxDisplayMode == EcommerceConstants.OrdersConstants.ExcludingTax)
            {
                withoutShippingTax = EcommerceOrderCalculatorCustom.TaxIncludingDiscount(taxOnTotalBasePrice, totalBasePrice, discountTotal);
            }
            else
            {
                withoutShippingTax = taxOnTotalBasePrice;
            }

            return(withoutShippingTax);
        }