コード例 #1
0
        public ActionResult ApplyPromo(string code)
        {
            var result = new ShoppingCartJSonMessageModel();

            result.ItemCount = "0";
            result.Message   = WBSSLStore.Resources.ErrorMessage.Message.ValidPromocode;
            PromoCode PRow = _service.GetPromoRow(code, Site.ID);

            if (PRow != null && PRow.ID > 0)
            {
                GetShoppingCart();

                foreach (ShoppingCartDetail sd in _viewModel.CartDetails)
                {
                    AssignPromoInCart(PRow, sd);
                    if (!string.IsNullOrEmpty(sd.PromoCode) && sd.PromoDiscount > 0)
                    {
                        result.ItemCount      = "1";
                        result.Message        = WBSSLStore.Resources.ErrorMessage.Message.PromoAppliedSuccess;
                        result.promodiscount += string.Format("{0:C}", sd.PromoDiscount) + "|-----|";
                        result.Id            += sd.ID + "|-----|";
                    }
                }

                decimal?amount = _viewModel.CartDetails.Sum(p => (decimal?)p.Price) - _viewModel.CartDetails.Sum(p => (decimal?)p.PromoDiscount);
                result.CartTotal = string.Format("{0:C}", amount ?? 0);
                _service.AddToCart(_viewModel);
            }
            return(Json(result));
        }
        public ShoppingCartJSonMessageModel DeleteFromCart(int id)
        {
            ShoppingCartDetail sd    = _shoppingCartDetails.FindByID(id);
            ShoppingCart       spCrt = _shoppingCart.FindByID(sd.ShoppingCartID);

            if (sd != null)
            {
                int CartID = sd.ShoppingCartID;
                int SiteID = spCrt.SiteID;

                _shoppingCartDetails.Delete(sd);

                _unitOfWork.Commit();


                var cartItems = _shoppingCartDetails.Find(s => s.ShoppingCartID == CartID);



                var result = new ShoppingCartJSonMessageModel();

                result.Message   = "Product has been removed from your shopping cart.";
                result.ItemCount = cartItems.Count().ToString();

                if (System.Convert.ToInt32(result.ItemCount) > 0)
                {
                    result.CartTotal = string.Format("{0:C}", cartItems.Sum(p => p.Price) - cartItems.Sum(p => p.PromoDiscount));
                }

                if (cartItems.Count() > 0)
                {
                    result.Id = id.ToString();
                }
                else
                {
                    result.Id = System.Convert.ToString(SiteID); // ((CurrentSiteSettings.IsSiteRunWithHTTPS) ? "https://" : "http://") + ((CurrentSiteSettings.IsRunWithWWW) ? "www." : "") + CurrentSiteSettings.CurrentSite.Alias;
                }

                cartItems = null;

                return(result);
            }
            else
            {
                return(null);
            }
        }