public async Task <InventoryStatusResponse> ReviseInventoryStatusAsync(InventoryStatusRequest inventoryStatusReq, InventoryStatusRequest inventoryStatusReq2 = null, InventoryStatusRequest inventoryStatusReq3 = null, InventoryStatusRequest inventoryStatusReq4 = null, string mark = "") { var headers = CreateReviseInventoryStatusHeadersWithApiCallName(); var body = this.CreateReviseInventoryStatusRequestBody(inventoryStatusReq, inventoryStatusReq2, inventoryStatusReq3, inventoryStatusReq4); var request = await this.CreateEbayStandartPostRequestWithCertAsync(this._endPoint, headers, body, mark, CancellationToken.None).ConfigureAwait(false); using (var memStream = await this._webRequestServices.GetResponseStreamAsync(request, mark, CancellationToken.None).ConfigureAwait(false)) { var inventoryStatusResponse = new EbayReviseInventoryStatusResponseParser().Parse(memStream); inventoryStatusResponse.RequestedItems = new List <InventoryStatusRequest>() { inventoryStatusReq, inventoryStatusReq2, inventoryStatusReq3, inventoryStatusReq4 }.Where(x => x != null).ConvertTo <InventoryStatusRequest, Models.ReviseInventoryStatusResponse.Item>().ToList(); return(inventoryStatusResponse); } }
private string CreateReviseInventoryStatusRequestBody(InventoryStatusRequest inventoryStatusReq1, InventoryStatusRequest inventoryStatusReq2 = null, InventoryStatusRequest inventoryStatusReq3 = null, InventoryStatusRequest inventoryStatusReq4 = null) { var inv1 = inventoryStatusReq1 != null?CreateInventoryStatusTag(inventoryStatusReq1.ItemId, inventoryStatusReq1.Quantity, inventoryStatusReq1.Sku) : string.Empty; var inv2 = inventoryStatusReq2 != null?CreateInventoryStatusTag(inventoryStatusReq2.ItemId, inventoryStatusReq2.Quantity, inventoryStatusReq2.Sku) : string.Empty; var inv3 = inventoryStatusReq3 != null?CreateInventoryStatusTag(inventoryStatusReq3.ItemId, inventoryStatusReq3.Quantity, inventoryStatusReq3.Sku) : string.Empty; var inv4 = inventoryStatusReq4 != null?CreateInventoryStatusTag(inventoryStatusReq4.ItemId, inventoryStatusReq4.Quantity, inventoryStatusReq4.Sku) : string.Empty; var body = string.Format( "<?xml version=\"1.0\" encoding=\"utf-8\"?><ReviseInventoryStatusRequest xmlns=\"urn:ebay:apis:eBLBaseComponents\"><RequesterCredentials><eBayAuthToken>{0}</eBayAuthToken></RequesterCredentials>{1}{2}{3}{4}</ReviseInventoryStatusRequest>", this._userCredentials.Token, inv1, inv2, inv3, inv4 ); return(body); }