示例#1
0
        public async Task <JsonResult> CountChange(int?CarID, int ProductID, int VersionID, string Operate)
        {
            var request = new AddCountRequest {
                CarId = CarID, ProductId = ProductID, VersionId = VersionID
            };

            if (Operate == "reduce")
            {
                request.Num = -1;
            }
            else
            {
                request.Num = 1;
            }

            try
            {
                eventBus.Publish("ShopCarCountChange", request);
            }
            catch (Exception ex)
            {
                logger.LogError(ex, "修改购物车数量出错!");
                return(Json("error"));
            }
            //var response = await shopCarService.AddCountAsync(request);
            return(Json(0));
        }
        /// <summary>
        /// 更改购物清单产品数量 增加 减少
        /// </summary>
        public async Task <AddCountResponse> AddCountAsync([FromBody] AddCountRequest request)
        {
            AddCountResponse response = new AddCountResponse();

            try
            {
                var model = _context.CarListEntitys.FirstOrDefault(a => a.CarID == request.CarId && a.ProductID == request.ProductId && a.VersionID == request.VersionId);
                model.Count += request.Num;
                _context.Update(model);
                await _context.SaveChangesAsync();

                response.Count = model.Count;
            }
            catch (Exception ex)
            {
                response.Successful = false;
                response.Message    = ex.Message;
                logger.LogError(ex, $"AddCountAsync 方法报错 Message:{JsonConvert.SerializeObject(request)}");
            }

            return(response);
        }
        public async Task <AddCountResponse> AddCountAsync(AddCountRequest request)
        {
            string url = $"{configuration["ServiceAddress:Service.ShopCar"]}{configuration["MehtodName:ShopCar.ShopCarOperation.AddCountAsync"]}";

            return(await apiHelperService.PostAsync <AddCountResponse>(url, request));
        }