Esempio n. 1
0
        public object PostUpdateCartItem(CartUpdateCartItemModel value)
        {
            CheckUserLogin();
            string Jsonstr     = value.jsonstr;
            var    datavalue   = Newtonsoft.Json.JsonConvert.DeserializeObject <UpdateCartSKusModel>(Jsonstr);
            var    cartService = ServiceProvider.Instance <ICartService> .Create;

            foreach (var sku in datavalue.skus)
            {
                cartService.UpdateCart(sku.skuId, sku.count, CurrentUser.Id);
            }
            dynamic d = new System.Dynamic.ExpandoObject();

            d.Success = "true";
            //d.Url = "http://" + Url.Request.RequestUri.Host + "/m-IOS/Order/SubmiteByCart";
            d.Url = Core.HimallIO.GetRomoteImagePath("/m-IOS/Order/SubmiteByCart");
            return(d);
        }
Esempio n. 2
0
        public object PostUpdateCartItem(CartUpdateCartItemModel value)
        {
            var productService = ServiceProvider.Instance <IProductService> .Create;

            CheckUserLogin();
            string Jsonstr      = value.jsonstr;
            var    datavalue    = Newtonsoft.Json.JsonConvert.DeserializeObject <UpdateCartSKusModel>(Jsonstr);
            var    cartService  = ServiceProvider.Instance <ICartService> .Create;
            var    ladderPrice  = 0m;
            long   productId    = 0;
            var    isOpenLadder = false;

            foreach (var sku in datavalue.skus)
            {
                Entities.SKUInfo skuinfo = OrderApplication.GetSkuByID(sku.skuId);
                if (skuinfo != null)
                {
                    var productInfo = ProductManagerApplication.GetProduct(skuinfo.ProductId);
                    if (productInfo != null)
                    {
                        if (productInfo.MaxBuyCount > 0 && sku.count > productInfo.MaxBuyCount && !productInfo.IsOpenLadder)
                        {
                            return(ErrorResult(string.Format("商品[{0}]限购{1}件", productInfo.ProductName, productInfo.MaxBuyCount), data: new { maxBuyCount = productInfo.MaxBuyCount }));
                            //throw new MallException(string.Format("每个ID限购{0}件", productInfo.MaxBuyCount));
                        }
                    }
                }
                cartService.UpdateCart(sku.skuId, sku.count, CurrentUser.Id);
                #region 阶梯价--张宇枫
                var skus    = CartApplication.GetCart(CurrentUser.Id);
                var skuItem = skus.Items.ToList().Find(i => i.SkuId == sku.skuId);
                productId = skuItem.ProductId;
                var product = ProductManagerApplication.GetProduct(productId);
                isOpenLadder = product.IsOpenLadder;
                if (isOpenLadder)
                {
                    var shop = ShopApplication.GetShop(product.ShopId);
                    var groupCartByProduct = skus.Items.Where(item => item.ShopBranchId == 0).Select(c =>
                    {
                        var cItem   = new Mall.Entities.ShoppingCartItem();
                        var skuInfo = productService.GetSku(c.SkuId);
                        if (skuInfo != null)
                        {
                            cItem = c;
                        }
                        return(cItem);
                    }).GroupBy(i => i.ProductId).ToList();
                    var quantity =
                        groupCartByProduct.Where(i => i.Key == productId)
                        .ToList()
                        .Sum(cartitem => cartitem.Sum(i => i.Quantity));
                    ladderPrice = ProductManagerApplication.GetProductLadderPrice(skuItem.ProductId, quantity);
                    if (shop.IsSelf)
                    {
                        ladderPrice = CurrentUser.MemberDiscount * ladderPrice;
                    }
                }
                #endregion
            }
            var result = new
            {
                success = true,
                //d.Url = "http://" + Url.Request.RequestUri.Host + "/m-IOS/Order/SubmiteByCart";
                Url          = Core.MallIO.GetRomoteImagePath("/m-IOS/Order/SubmiteByCart"),
                Price        = ladderPrice.ToString("F2"),
                ProductId    = productId,
                IsOpenLadder = isOpenLadder ? 1 : 0,
            };
            return(result);
        }