예제 #1
0
        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);
            }
        }
예제 #2
0
        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);
        }