/// <summary> /// Get sku's inventory on specified warehouseLocation /// </summary> /// <param name="sku"></param> /// <param name="warehouseLocationCode"></param> /// <param name="token"></param> /// <returns></returns> public async Task <ItemInventory> GetSkuInventory(string sku, string warehouseLocationCode, CancellationToken token, Mark mark = null) { if (mark == null) { mark = Mark.CreateNew(); } var request = new GetItemInventoryRequest(type: SellerPartNumberRequestType, value: sku, warehouseLocationCode: warehouseLocationCode); Func <HttpStatusCode, ErrorResponse, bool> ignoreErrorHandler = (status, error) => { // can't find item return(error != null && error.Code == "CT026" && status == HttpStatusCode.BadRequest); }; var response = await base.PutAsync(new ItemInventoryCommand( base.Config, base.Credentials, request.ToJson()), token, mark, ignoreErrorHandler); if (response.Error == null) { return(JsonConvert.DeserializeObject <ItemInventory>(response.Result)); } return(null); }
[Fact]//B2B XML public async Task GetItemInventory304_XML_CAN() { GetItemInventoryRequest InventoryRequest = new GetItemInventoryRequest() { Type = ItemQueryType.NewEggItemNumber, Value = "9SIA44S3KG2890"//B2B A44S }; CheckRequestString <GetItemInventoryRequest>(InventoryRequest); var body = await fadeAPI_CAN_XML.GetItemInventory(InventoryRequest, 304);//have WarehouseCode Assert.IsType <GetItemInventoryResponse>(body); }
//B2B,CAN public async Task <GetItemInventoryResponse> GetItemInventory(GetItemInventoryRequest reqModel, int?Version = null) { var request = CreateRequest <GetItemInventoryRequest>(reqModel); request.URI = "contentmgmt/item/inventory"; if (Version != null) { request.QueryParams.Add("version", Version.ToString());//304 } var response = await client.PostAsync(request); var result = await ProcessResponse <GetItemInventoryResponse>(response); return(result); }