private void CheckInventory() { string warehouseCode = "Test"; string entryCode = "PriceTest_1"; int quantity = 2; List <InventoryRequestItem> requestItems = new List <InventoryRequestItem>(); // holds the "items" InventoryRequestItem requestItem = new InventoryRequestItem(); // The one we use now requestItem.CatalogEntryCode = entryCode; requestItem.Quantity = quantity; requestItem.WarehouseCode = warehouseCode; requestItem.RequestType = InventoryRequestType.Purchase; // reserve for now requestItems.Add(requestItem); InventoryRequest inventoryRequest = new InventoryRequest(DateTime.UtcNow, requestItems, null); InventoryResponse inventoryResponse = invSrvs.Service.Request(inventoryRequest); bool theBool = false; if (inventoryResponse.IsSuccess) { theBool = inventoryResponse.IsSuccess; } else { InventoryResponseItem iii = inventoryResponse.Items.FirstOrDefault(); InventoryResponseTypeInfo typeInfo = iii.ResponseTypeInfo; } /* * * */ }
public static InventoryResponse ToInventoryResponse(this InventoryWebServiceResponse1 response) { var result = new InventoryResponse(); if (response.InventoryResponse == null) { return(result); } result = new InventoryResponse { InventoryResponseItems = new InventoryResponseItem[response.InventoryResponse.InventoryResponseDetail.Length] }; int itemNum = 0; foreach (var serviceInventoryResponseDetail in response.InventoryResponse.InventoryResponseDetail) { //Values comes in as a string with decimal formatting, e.g "1.00" var quantity = Convert.ToDecimal(serviceInventoryResponseDetail.Quantity, CultureInfo.InvariantCulture); var inventoryResponseDetail = new InventoryResponseItem { OrderLineNumber = serviceInventoryResponseDetail.OrderLineNumber, ProductId = serviceInventoryResponseDetail.ProductID, Quantity = quantity, ShippingPoint = serviceInventoryResponseDetail.ShippingPoint, }; var numOfAvailQty = 0; var availableQtyWithDollarValue = serviceInventoryResponseDetail.ItemDetail.Where(itemDetail => Decimal.Parse(itemDetail.AvailableQty, CultureInfo.InvariantCulture) != 0.00M); inventoryResponseDetail.Availabilities = new Availability[availableQtyWithDollarValue.ToList().Count]; foreach (var avaialblity in availableQtyWithDollarValue.Select(itemDetail => new Availability { AvailableDate = DateTime.ParseExact(itemDetail.AvailableDate, "yyyyMMdd", CultureInfo.InvariantCulture), AvailableQty = Convert.ToDecimal(itemDetail.AvailableQty, CultureInfo.InvariantCulture) })) { inventoryResponseDetail.Availabilities[numOfAvailQty] = avaialblity; numOfAvailQty++; } result.InventoryResponseItems[itemNum] = inventoryResponseDetail; itemNum++; } return(result); }