public JsonResult RemoveDiscountCode(string discountCode)
        {
            var result = new DiscountMessage();

            try
            {
                var localCart = ShoppingCart.GetCart(this.HttpContext);
                var disc      = storeDB.CartDiscounts.Where(d => d.CartId == localCart.ShoppingCartId && d.DiscountCode == discountCode).FirstOrDefault();
                if (disc != null)
                {
                    storeDB.CartDiscounts.Remove(disc);
                    storeDB.SaveChanges();
                    GetCartTotals(result, localCart);
                    result.Code   = discountCode;
                    result.Amount = localCart.Discount;
                }
            }
            catch (Exception e)
            {
                result.Error = e.Message;
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }
        public JsonResult ApplyDiscountCode(string discountCode)
        {
            var result = new DiscountMessage();

            try
            {
                discountCode = discountCode.ToUpper();
                var discount = storeDB.Discounts.SingleOrDefault(d => d.Code.ToUpper() == discountCode);
                if (discount == null)
                {
                    result.Error = string.Format("Discount code {0} does not exist", discountCode);
                }
                else
                {
                    result.Description = discount.Description;
                    var localCart = ShoppingCart.GetCart(this.HttpContext);
                    var disc      = localCart.Discounts.Where(d => d.CartId == localCart.ShoppingCartId && d.DiscountCode == discount.Code).FirstOrDefault();
                    if (disc == null)
                    {
                        disc = new CartDiscount {
                            DiscountCode = discount.Code, CartId = localCart.ShoppingCartId, Description = discount.Description
                        };
                        storeDB.CartDiscounts.Add(disc);
                        storeDB.SaveChanges();
                    }
                    GetCartTotals(result, localCart);
                    result.Code   = discountCode;
                    disc          = localCart.Discounts.Where(d => d.CartId == localCart.ShoppingCartId && d.DiscountCode == discount.Code).FirstOrDefault();
                    result.Amount = disc.Amount;
                }
            }
            catch (Exception e)
            {
                result.Error = e.Message;
            }
            return(Json(result, JsonRequestBehavior.AllowGet));
        }