/// <summary> /// 从cookie中移除mini购物车 /// </summary> public static void RemoveShoppingCartMiniCookie() { ShoppingCartMiniResult shoppingCartMini = new ShoppingCartMiniResult(); shoppingCartMini.ItemList = new List <ShoppingCartMiniItem>(); SaveShoppingCartMini(shoppingCartMini); }
/// <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); }
/// <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); }
/// <summary> /// 保存购物车Mini到cookie和db /// </summary> /// <param name="shoppingCartMini"></param> public static void SaveShoppingCartMini(ShoppingCartMiniResult shoppingCartMini) { //写入Cookie CookieHelper.SaveCookie <ShoppingCartMiniResult>(MY_SHOPPINGCARTMINI_COOKIE_NAME, shoppingCartMini); }