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); }
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); }
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); }