示例#1
0
        private string CreateReviseFixedPriceItemRequestBody(ReviseFixedPriceItemRequest inventoryStatusReq, bool isVariation)
        {
            var sku       = string.Format("<SKU>{0}</SKU>", SecurityElement.Escape(inventoryStatusReq.Sku));
            var condition = inventoryStatusReq.ConditionID > 0 ? string.Format("<ConditionID>{0}</ConditionID>", inventoryStatusReq.ConditionID) : string.Empty;
            var body      = isVariation ? string.Format(
                "<?xml version=\"1.0\" encoding=\"utf-8\"?><ReviseFixedPriceItemRequest xmlns=\"urn:ebay:apis:eBLBaseComponents\"><RequesterCredentials><eBayAuthToken>{0}</eBayAuthToken></RequesterCredentials><Item ComplexType=\"ItemType\"><ItemID>{1}</ItemID><Variations><Variation>{2}<Quantity>{3}</Quantity></Variation></Variations><OutOfStockControl>{4}</OutOfStockControl>{5}</Item></ReviseFixedPriceItemRequest>",
                this._userCredentials.Token,
                inventoryStatusReq.ItemId,
                sku,
                inventoryStatusReq.Quantity,
                true,
                condition
                ) :
                            string.Format(
                "<?xml version=\"1.0\" encoding=\"utf-8\"?><ReviseFixedPriceItemRequest xmlns=\"urn:ebay:apis:eBLBaseComponents\"><RequesterCredentials><eBayAuthToken>{0}</eBayAuthToken></RequesterCredentials><Item ComplexType=\"ItemType\"><ItemID>{1}</ItemID><Quantity>{2}</Quantity>{3}<OutOfStockControl>{4}</OutOfStockControl>{5}</Item></ReviseFixedPriceItemRequest>",
                this._userCredentials.Token,
                inventoryStatusReq.ItemId,
                inventoryStatusReq.Quantity,
                sku,
                true,
                condition
                );

            return(body);
        }
示例#2
0
        public async Task <ReviseFixedPriceItemResponse> ReviseFixedPriceItemAsync(ReviseFixedPriceItemRequest fixedPriceItem, string mark, bool isVariation)
        {
            var headers = CreateReviseFixedPriceItemHeadersWithApiCallName();

            var body = this.CreateReviseFixedPriceItemRequestBody(fixedPriceItem, isVariation);

            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 EbayReviseFixedPriceItemResponseParser().Parse(memStream);
                return(inventoryStatusResponse);
            }
        }