public ActionResult Edit(string cartid, string token, int quantity = 0)
        {
            int    response = 0;
            string message  = "";

            try
            {
                if (string.IsNullOrEmpty(cartid) || string.IsNullOrEmpty(token) || quantity == 0)
                {
                    return(Json(new { response = Extensions.ErrorInfo.ParameterError, message = "参数错误" }));
                }
                var tc = new Cache.MemberTokenCache().Get(token);
                if (tc == null)
                {
                    return(Json(new { response = Extensions.ErrorInfo.TokenError, message = "token验证失败请重新登录" }));
                }
                if (AuthIsOpen)
                {
                    var dic = new SortedDictionary <string, string>();
                    dic.Add("timestamp", Request["timestamp"]);
                    dic.Add("cartid", cartid);
                    dic.Add("token", token);
                    VerifyAuthorize(dic);
                }
                var model  = new List <Models.ShoppingCartModels.result_model>();
                var entity = new Entitys.Member_ShoppingCart()
                {
                    Id = Common.ToolHelper.ConvertToLong(cartid), Quantity = quantity
                };
                var list = new Provider.ShoppingCartProvider().Edit(entity);
                if (list > 0)
                {
                    response = (int)Extensions.ErrorInfo.OK;
                    message  = "成功";
                }
                else
                {
                    response = (int)Extensions.ErrorInfo.UpError;
                    message  = "修改失败";
                }
            }
            catch (Exception ex)
            {
                response = (int)Extensions.ErrorInfo.ServerError;
                message  = "服务器内部错误";
                Common.LogHelper.WriteLog(typeof(ShoppingCartController), ex);
            }
            return(Json(new { response = response, message = message }));
        }
        public ActionResult TempCardOrder()
        {
            var param = Newtonsoft.Json.JsonConvert.DeserializeObject <Models.TempOrderModels.param>(Request["param"]);
            //TODO:修改为json格式获取参数
            var data = new Models.TempOrderModels.cart_json();

            try
            {
                if (string.IsNullOrEmpty(param.memberid) || string.IsNullOrEmpty(param.token))
                {
                    return(Json(new { response = Extensions.ErrorInfo.ParameterError, message = "参数错误" }));
                }
                var tc = new Cache.MemberTokenCache().Get(param.token);
                if (tc == null)
                {
                    return(Json(new { response = Extensions.ErrorInfo.TokenError, message = "token验证失败请重新登录" }));
                }
                if (AuthIsOpen)
                {
                    var dic = new SortedDictionary <string, string>();
                    dic.Add("timestamp", param.timestamp);
                    dic.Add("memberid", param.memberid);
                    dic.Add("token", param.token);
                    VerifyAuthorize(dic, param.timestamp, param.imei, param.sign);
                }
                var cartProvider = new Provider.ShoppingCartProvider();
                var order        = new List <Entitys.Order_TempOrderBasis>();
                var detail       = new List <Entitys.Order_TempOrderDetail>();
                //选中购物车需要结算的商品
                foreach (var item in param.shop)
                {
                    var entity = new Entitys.Order_TempOrderBasis()
                    {
                        OrderId    = Common.PrimaryKey.GetHashCodeID,
                        ShopId     = Common.ToolHelper.ConvertToLong(item.shopid),
                        OrderPrice = 0,
                        MemberId   = Common.ToolHelper.ConvertToLong(param.memberid),
                        CreateTime = DateTime.Now,
                        IsCart     = 1
                    };
                    decimal amount = 0;
                    foreach (var pro in item.product)
                    {
                        var cart = cartProvider.GetCartProd(Common.ToolHelper.ConvertToLong(pro.cartid));
                        if (cart != null)
                        {
                            var     pd      = new Provider.ProductBasisProvider().GetProduct(cart.ProductId);
                            decimal price   = pd.PromoPrice;//有优惠需要计算优惠后的价格
                            string  pic     = pd.PictureURL;
                            string  skuName = "";
                            if (pd.IsMoveProp == (int)Common.EnumModel.EIsMoveProp.MoveProp)
                            {
                                var sku = new Provider.ProductSKUProvider().GetSKU(Common.ToolHelper.ConvertToLong(cart.SKUId));
                                if (sku != null)
                                {
                                    price   = sku.PromoPrice;
                                    pic     = sku.PictureURL;
                                    skuName = sku.SKUName;
                                }
                            }
                            var info = new Entitys.Order_TempOrderDetail()
                            {
                                CartId       = cart.Id,
                                SKUId        = cart.SKUId,
                                SKUName      = skuName,
                                IsGift       = 0,
                                OrderId      = entity.OrderId,
                                PayPrice     = price,
                                PictureURL   = pic,
                                ProductId    = cart.ProductId,
                                Quantity     = pro.quantity,
                                ProductName  = pd.ProductName,
                                ProductPrice = pd.RealPrice,
                                CreateTime   = DateTime.Now
                            };
                            amount += info.PayPrice;
                            detail.Add(info);
                        }
                    }
                    entity.OrderPrice = amount;
                    order.Add(entity);
                }
                #region 业务处理
                var line = new Provider.TempOrderProvider().AddTempOrder(order, detail);
                if (line > 0)
                {
                    var result = new List <Models.TempOrderModels.result_model>();
                    var prod   = new List <Models.TempOrderModels.detail>();
                    foreach (var item in order)
                    {
                        prod = new List <Models.TempOrderModels.detail>();
                        foreach (var pro in detail.Where(c => c.OrderId == item.OrderId))
                        {
                            prod.Add(new Models.TempOrderModels.detail
                            {
                                isgift       = pro.IsGift,
                                skuid        = pro.SKUId,
                                skuname      = pro.SKUName,
                                orderid      = pro.OrderId,
                                payprice     = pro.PayPrice,
                                pictureurl   = pro.PictureURL,
                                productid    = pro.ProductId, productname = pro.ProductName,
                                productprice = pro.ProductPrice,
                                quantity     = pro.Quantity
                            });
                        }
                        result.Add(new Models.TempOrderModels.result_model
                        {
                            orderid    = item.OrderId,
                            shopid     = item.ShopId,
                            orderprice = item.OrderPrice,
                            list       = prod
                        });
                    }
                }
                else
                {
                    data.response = (int)Extensions.ErrorInfo.UpError;
                    data.message  = "失败";
                }
                #endregion
            }
            catch (Exception ex)
            {
                data.response = (int)Extensions.ErrorInfo.ServerError;
                data.message  = "服务器内部错误";
                Common.LogHelper.WriteLog(typeof(TempOrderController), ex);
            }
            return(Json(data));
        }
        public ActionResult Add(string memberid, string token, string productid, string shopid, string skuid, int quantity = 0)
        {
            int    response = 0;
            string message  = "";

            try
            {
                if (string.IsNullOrEmpty(memberid) || string.IsNullOrEmpty(token) || string.IsNullOrEmpty(productid) || string.IsNullOrEmpty(shopid) || quantity == 0)
                {
                    return(Json(new { response = Extensions.ErrorInfo.ParameterError, message = "参数错误" }));
                }
                var tc = new Cache.MemberTokenCache().Get(token);
                if (tc == null)
                {
                    return(Json(new { response = Extensions.ErrorInfo.TokenError, message = "token验证失败请重新登录" }));
                }
                if (AuthIsOpen)
                {
                    var dic = new SortedDictionary <string, string>();
                    dic.Add("timestamp", Request["timestamp"]);
                    dic.Add("memberid", memberid);
                    dic.Add("token", token);
                    dic.Add("productid", productid);
                    dic.Add("shopid", shopid);
                    VerifyAuthorize(dic);
                }
                //判断是否已经存在购物车
                var isExist = new Provider.ShoppingCartProvider().IsCart(Common.ToolHelper.ConvertToLong(productid), Common.ToolHelper.ConvertToLong(memberid), Common.ToolHelper.ConvertToLong(skuid));
                if (isExist)
                {
                    response = (int)Extensions.ErrorInfo.OK;
                    message  = "成功";
                }
                else
                {
                    var model  = new List <Models.ShoppingCartModels.result_model>();
                    var entity = new Entitys.Member_ShoppingCart()
                    {
                        ProductId  = Common.ToolHelper.ConvertToLong(productid),
                        Quantity   = quantity,
                        MemberId   = Common.ToolHelper.ConvertToLong(memberid),
                        SKUId      = string.IsNullOrEmpty(skuid) ? Common.Constant.LONG_DEFAULT : Common.ToolHelper.ConvertToLong(skuid),
                        CreateTime = DateTime.Now,
                        IsDelete   = (int)Common.EnumModel.EIsDelete.NotDelete,
                        TimeStamp  = DateTime.Now,
                        ShopId     = Common.ToolHelper.ConvertToLong(shopid)
                    };
                    var list = new Provider.ShoppingCartProvider().Edit(entity);
                    if (list > 0)
                    {
                        response = (int)Extensions.ErrorInfo.OK;
                        message  = "成功";
                    }
                    else
                    {
                        response = (int)Extensions.ErrorInfo.UpError;
                        message  = "修改失败";
                    }
                }
            }
            catch (Exception ex)
            {
                response = (int)Extensions.ErrorInfo.ServerError;
                message  = "服务器内部错误";
                Common.LogHelper.WriteLog(typeof(ShoppingCartController), ex);
            }
            return(Json(new { response = response, message = message }));
        }
        public ActionResult Index(string memberid, string token)
        {
            var data = new Models.ShoppingCartModels.json_model();

            try
            {
                if (string.IsNullOrEmpty(memberid) || string.IsNullOrEmpty(token))
                {
                    return(Json(new { response = Extensions.ErrorInfo.ParameterError, message = "参数错误" }));
                }
                var tc = new Cache.MemberTokenCache().Get(token);
                if (tc == null)
                {
                    return(Json(new { response = Extensions.ErrorInfo.TokenError, message = "token验证失败请重新登录" }));
                }
                if (AuthIsOpen)
                {
                    var dic = new SortedDictionary <string, string>();
                    dic.Add("timestamp", Request["timestamp"]);
                    dic.Add("memberid", memberid);
                    dic.Add("token", token);
                    VerifyAuthorize(dic);
                }
                var model = new List <Models.ShoppingCartModels.result_model>();
                var shop  = new List <Models.ShoppingCartModels.shop_model>();
                var list  = new Provider.ShoppingCartProvider().GetList(Common.ToolHelper.ConvertToLong(memberid));
                var ids   = list.Select(c => c.ShopId).Distinct();
                var cache = new Cache.BIZ_ShopBasisCache().Get(Common.FormsTicket.SystemCode);
                var pic   = "";
                foreach (var s in ids)
                {
                    var sp = cache.Where(c => c.Id == s).FirstOrDefault();
                    model = new List <Models.ShoppingCartModels.result_model>();
                    foreach (var item in list.Where(c => c.ShopId == s))
                    {
                        pic = new ERP.Common.FileHelper().GetWebFileUrl(item.PictureURL, Common.FileConfig.FileType.ProductPhoto.ToString());
                        model.Add(new Models.ShoppingCartModels.result_model
                        {
                            skuname     = item.SKUName,
                            quantity    = item.Quantity,
                            cartstatus  = item.CartStatus,
                            cartid      = item.Id,
                            ismoveprop  = item.IsMoveProp,
                            pictureurl  = pic,
                            productname = item.ProductName,
                            promoprice  = item.PromoPrice,
                            realprice   = item.RealPrice,
                            orderid     = "cart_" + item.Id
                        });
                    }
                    shop.Add(new Models.ShoppingCartModels.shop_model {
                        product  = model,
                        shopid   = sp.Id,
                        shopname = sp.ShopName
                    });
                }
                data.response = (int)Extensions.ErrorInfo.OK;
                data.message  = "成功";
                data.result   = shop;
            }
            catch (Exception ex)
            {
                data.response = (int)Extensions.ErrorInfo.ServerError;
                data.message  = "服务器内部错误";
                Common.LogHelper.WriteLog(typeof(ShoppingCartController), ex);
            }
            return(Json(data));
        }