/// <summary> /// 批量更新商品库存 /// </summary> /// <param name="token"></param> /// <param name="goods"></param> /// <param name="ErrorMsg"></param> /// <returns></returns> public void UpdateStoke(string token, ItemQuantityUpdate goods, out List <string> errorMsgs) { errorMsgs = new List <string>(); if (CommonFunc.CheckListGoodsId(goods.ListGoodsId)) { string[] ListGoodsId = goods.ListGoodsId.Split(','); foreach (string itemId in ListGoodsId) { string ErrorMsg = null; if (string.IsNullOrEmpty(itemId)) { return; } goods.NumIid = long.Parse(itemId.ToString()); bool result = setgoods.UpdateGoodsStoke(token, goods, out ErrorMsg); if (result == false) { string str; str = "商品ID: " + goods.NumIid + ",状态: "; str += result == true ? "更新成功" : "更新失败"; str += ",失败原因:"; str += ErrorMsg; errorMsgs.Add(str); } } } }
/// <summary> /// 批量修改商品库存 /// </summary> /// <returns></returns> public Task <ActionResult> SetUpdateGoodsStoke(ItemQuantityUpdate goods) { tbClientUser clientuser = GetUser("UserInfo"); return(Task.Factory.StartNew(() => { List <string> errorMsgs; goodsinfo.UpdateStoke(clientuser.UserShops[0].SessionKey, goods, out errorMsgs); AsyncManager.Timeout = 5000; AsyncManager.Parameters["content"] = errorMsgs; }).ContinueWith <ActionResult>(task => { List <string> errorMsg = (List <string>)AsyncManager.Parameters["content"]; return Json(new { ErrorMsg = errorMsg }); })); }
public void UpdateQuantity_Existing_OkResponseWithQuantityUpdatedCodeReturned() { // Arrange var customerId = "customer_1"; var itemName = "Item 1" + DateTime.Now.Ticks; var itemToCreate = new ItemCreate { Name = itemName, Quantity = 5 }; var quantityToUpdate = new ItemQuantityUpdate { Quantity = 10 }; CheckoutClient.ShoppingListService.AddItem(customerId, itemToCreate); // Act var response = CheckoutClient.ShoppingListService.UpdateQuantity(customerId, itemName, quantityToUpdate); // Assert response.Should().NotBeNull(); response.HttpStatusCode.Should().Be(HttpStatusCode.OK); response.Model.Code.Should().Be(3002); }
/// <summary> /// 更新库存 /// </summary> /// <param name="sessionKey"></param> /// <param name="goods"></param> /// <param name="ErrorMsg"></param> /// <returns></returns> internal bool UpdateGoodsStoke(string sessionKey, ItemQuantityUpdate goods, out string ErrorMsg) { ErrorMsg = null; ITopClient client = new DefaultTopClient(StaticSystemConfig.soft.ApiURL, StaticSystemConfig.soft.AppKey, StaticSystemConfig.soft.AppSecret, "json"); ItemQuantityUpdateRequest req = new ItemQuantityUpdateRequest(); if (goods.NumIid != null) { req.NumIid = goods.NumIid; } if (goods.SkuId != null) { req.SkuId = goods.SkuId; } if (goods.OuterId != null) { req.OuterId = goods.OuterId; } if (goods.Quantity != null) { req.Quantity = goods.Quantity; } if (goods.Type != null) { req.Type = goods.Type; } ItemQuantityUpdateResponse response = client.Execute(req, sessionKey); if (!response.IsError) { return(true); } else { ErrorMsg = response.SubErrMsg; return(false); } }
public HttpResponse <BaseResponse> UpdateQuantity(string customerId, string itemName, ItemQuantityUpdate requestModel) { var quantityUpdateUri = string.Format(ApiUrls.ShoppingListItemQuantityUpdate, customerId, itemName); return(new ApiHttpClient().PutRequest <BaseResponse>(quantityUpdateUri, AppSettings.SecretKey, requestModel)); }