Beispiel #1
0
        /// <summary>
        /// 从cookie中移除mini购物车
        /// </summary>
        public static void RemoveShoppingCartMiniCookie()
        {
            ShoppingCartMiniResult shoppingCartMini = new ShoppingCartMiniResult();

            shoppingCartMini.ItemList = new List <ShoppingCartMiniItem>();
            SaveShoppingCartMini(shoppingCartMini);
        }
Beispiel #2
0
        /// <summary>
        /// 从Mini购物车里创建一个Mini购物车对象
        /// </summary>
        /// <returns></returns>
        public static ShoppingCartMiniResult GetShoppingCartMiniFromCookie()
        {
            ShoppingCartMiniResult shoppingCartMini = CookieHelper.GetCookie <ShoppingCartMiniResult>(MY_SHOPPINGCARTMINI_COOKIE_NAME);

            if (shoppingCartMini == null)
            {
                shoppingCartMini          = new ShoppingCartMiniResult();
                shoppingCartMini.ItemList = new List <ShoppingCartMiniItem>();
            }
            return(shoppingCartMini);
        }
Beispiel #3
0
        /// <summary>
        /// 构造Mini购物车
        /// </summary>
        /// <param name="shoppingCart"></param>
        /// <returns></returns>
        public static ShoppingCartMiniResult BuildMiniShoppingCart(ShoppingCart shoppingCart, out OrderPipelineProcessResult pipleResult)
        {
            ShoppingCartMiniResult result = new ShoppingCartMiniResult()
            {
                ProductCount = 0,
                TotalAmount  = 0m,
                ItemList     = new List <ShoppingCartMiniItem>()
            };

            pipleResult = BuildShoppingCart(shoppingCart);
            if (pipleResult != null && pipleResult.ReturnData != null &&
                pipleResult.ReturnData.OrderItemGroupList != null)
            {
                foreach (var itemGroup in pipleResult.ReturnData.OrderItemGroupList)
                {
                    foreach (var item in itemGroup.ProductItemList)
                    {
                        result.ProductCount += itemGroup.Quantity * item.UnitQuantity;

                        decimal totalUnitDiscount = 0m;
                        List <OrderItemDiscountInfo> discountList = null;
                        if (pipleResult.ReturnData.DiscountDetailList != null && pipleResult.ReturnData.DiscountDetailList.Count > 0)
                        {
                            discountList = pipleResult.ReturnData.DiscountDetailList.FindAll(m
                                                                                             => m.PackageNo == itemGroup.PackageNo &&
                                                                                             m.ProductSysNo == item.ProductSysNo);
                            totalUnitDiscount = discountList.Sum(m => m.UnitDiscount);
                        }
                        result.TotalAmount += (item.UnitSalePrice - totalUnitDiscount) * (item.UnitQuantity * itemGroup.Quantity);
                        result.TotalTaxFee += (item.UnitSalePrice - totalUnitDiscount) * (item.UnitQuantity * itemGroup.Quantity);// *decimal.Parse(item["TariffRate"].ToString());

                        result.ItemList.Add(new ShoppingCartMiniItem()
                        {
                            PackageSysNo = itemGroup.PackageNo,
                            ProductSysNo = item.ProductSysNo,
                            ProductTitle = item["ProductTitle"].ToString(),
                            DefaultImage = ECommerce.Facade.Product.ProductFacade.BuildProductImage(Enums.ImageSize.P60, item.DefaultImage),
                            TaxFee       = (item.UnitSalePrice - totalUnitDiscount) * (item.UnitQuantity * itemGroup.Quantity),// * decimal.Parse(item["TariffRate"].ToString()),
                            ProductPrice = item.UnitSalePrice - totalUnitDiscount,
                            Quantity     = item.UnitQuantity * itemGroup.Quantity
                        });
                    }
                }
            }

            return(result);
        }
Beispiel #4
0
 /// <summary>
 /// 保存购物车Mini到cookie和db
 /// </summary>
 /// <param name="shoppingCartMini"></param>
 public static void SaveShoppingCartMini(ShoppingCartMiniResult shoppingCartMini)
 {
     //写入Cookie
     CookieHelper.SaveCookie <ShoppingCartMiniResult>(MY_SHOPPINGCARTMINI_COOKIE_NAME, shoppingCartMini);
 }