public List <KeyValuePair <string, string> > GetAdditionalParameters(IAdditionalParameters additionalParameters) { List <KeyValuePair <string, string> > queryStringParameters = new List <KeyValuePair <string, string> >(); ProductAdditionalParameters productAdditionalParameters = additionalParameters as ProductAdditionalParameters; if (productAdditionalParameters == null) { return(queryStringParameters); } if (productAdditionalParameters.PriceChannel != null) { queryStringParameters.Add(new KeyValuePair <string, string>("priceChannel", productAdditionalParameters.PriceChannel)); } if (productAdditionalParameters.PriceCountry != null) { queryStringParameters.Add(new KeyValuePair <string, string>("priceCountry", productAdditionalParameters.PriceCountry)); } if (productAdditionalParameters.PriceCurrency != null) { queryStringParameters.Add(new KeyValuePair <string, string>("priceCurrency", productAdditionalParameters.PriceCurrency)); } if (productAdditionalParameters.PriceCustomerGroup != null) { queryStringParameters.Add(new KeyValuePair <string, string>("priceCustomerGroup", productAdditionalParameters.PriceCustomerGroup)); } return(queryStringParameters); }
public void GetProductAdditionalParametersBuilderFromFactory() { ProductAdditionalParameters productAdditionalParameters = new ProductAdditionalParameters(); IParametersBuilderFactory <IAdditionalParametersBuilder> parametersBuilderFactory = this.clientFixture.GetService <IParametersBuilderFactory <IAdditionalParametersBuilder> >(); IAdditionalParametersBuilder additionalParametersMessageBuilder = parametersBuilderFactory.GetParameterBuilder(productAdditionalParameters); Assert.Equal(typeof(ProductAdditionalParametersBuilder), additionalParametersMessageBuilder.GetType()); }
public void GetProductByIdWithAdditionalParameters() { IClient commerceToolsClient = this.productFixture.GetService <IClient>(); ProductAdditionalParameters productAdditionalParameters = new ProductAdditionalParameters(); productAdditionalParameters.PriceCurrency = "EUR"; Product product = this.productFixture.CreateProduct(); this.productFixture.ProductsToDelete.Add(product); Product retrievedProduct = commerceToolsClient .ExecuteAsync(new GetByIdCommand <Product>(new Guid(product.Id), productAdditionalParameters)).Result; Assert.Equal(product.Id, retrievedProduct.Id); }
public void ProductGetByIdRequestMessageWithPriceCurrency() { ProductAdditionalParameters productAdditionalParameters = new ProductAdditionalParameters(); productAdditionalParameters.PriceCurrency = "EUR"; GetByIdCommand <Product> command = new GetByIdCommand <Product>(new Guid("2bafc816-4223-4ff0-ac8a-0f08a8f29fd6"), productAdditionalParameters); // This object cannot be retrieved with GetService method directly. // GetRequestMessageBuilder is registered as IRequestMessageBuilder among other request builders. GetRequestMessageBuilder requestMessageBuilder = new GetRequestMessageBuilder( this.clientFixture.GetService <IEndpointRetriever>(), this.clientFixture.GetService <IParametersBuilderFactory <IAdditionalParametersBuilder> >()); HttpRequestMessage httpRequestMessage = requestMessageBuilder.GetRequestMessage(command); Assert.Equal(HttpMethod.Get, httpRequestMessage.Method); Assert.Equal("products/2bafc816-4223-4ff0-ac8a-0f08a8f29fd6?priceCurrency=EUR", httpRequestMessage.RequestUri.ToString()); }