/// <summary> /// Validate the final state of shopper-selected options. /// </summary> /// <param name="productCode">Merchant-created code that uniquely identifies the product such as a SKU or item number. Once created, the product code is read-only.</param> /// <param name="responseFields">Use this field to include those fields which are not included by default.</param> /// <param name="skipInventoryCheck">If true, skip the process to validate inventory when creating this product reservation.</param> /// <param name="productOptionSelections">For a product with shopper-configurable options, the properties of the product options selected by the shopper.</param> /// <returns> /// <see cref="Mozu.Api.MozuClient" />{<see cref="Mozu.Api.Contracts.ProductRuntime.ProductValidationSummary"/>} /// </returns> /// <example> /// <code> /// var mozuClient=ValidateProduct( productOptionSelections, productCode, skipInventoryCheck, responseFields); /// var productValidationSummaryClient = mozuClient.WithBaseAddress(url).Execute().Result(); /// </code> /// </example> public static MozuClient <Mozu.Api.Contracts.ProductRuntime.ProductValidationSummary> ValidateProductClient(Mozu.Api.Contracts.ProductRuntime.ProductOptionSelections productOptionSelections, string productCode, bool?skipInventoryCheck = null, string responseFields = null) { var url = Mozu.Api.Urls.Commerce.Catalog.Storefront.ProductUrl.ValidateProductUrl(productCode, skipInventoryCheck, responseFields); const string verb = "POST"; var mozuClient = new MozuClient <Mozu.Api.Contracts.ProductRuntime.ProductValidationSummary>() .WithVerb(verb).WithResourceUrl(url) .WithBody <Mozu.Api.Contracts.ProductRuntime.ProductOptionSelections>(productOptionSelections); return(mozuClient); }
/// <summary> /// Validate the final state of shopper-selected options. /// </summary> /// <param name="productCode">Merchant-created code that uniquely identifies the product such as a SKU or item number. Once created, the product code is read-only.</param> /// <param name="responseFields">Use this field to include those fields which are not included by default.</param> /// <param name="skipInventoryCheck">If true, skip the process to validate inventory when creating this product reservation.</param> /// <param name="productOptionSelections">For a product with shopper-configurable options, the properties of the product options selected by the shopper.</param> /// <returns> /// <see cref="Mozu.Api.Contracts.ProductRuntime.ProductValidationSummary"/> /// </returns> /// <example> /// <code> /// var product = new Product(); /// var productValidationSummary = await product.ValidateProductAsync( productOptionSelections, productCode, skipInventoryCheck, responseFields); /// </code> /// </example> public virtual async Task <Mozu.Api.Contracts.ProductRuntime.ProductValidationSummary> ValidateProductAsync(Mozu.Api.Contracts.ProductRuntime.ProductOptionSelections productOptionSelections, string productCode, bool?skipInventoryCheck = null, string responseFields = null) { MozuClient <Mozu.Api.Contracts.ProductRuntime.ProductValidationSummary> response; var client = Mozu.Api.Clients.Commerce.Catalog.Storefront.ProductClient.ValidateProductClient(productOptionSelections, productCode, skipInventoryCheck, responseFields); client.WithContext(_apiContext); response = await client.ExecuteAsync(); return(await response.ResultAsync()); }
/// <summary> /// Validate the final state of shopper-selected options. /// <example> /// <code> /// var result = ProductRuntimeFactory.ValidateProduct(handler : handler, productOptionSelections : productOptionSelections, productCode : productCode, skipInventoryCheck : skipInventoryCheck, responseFields : responseFields, expectedCode: expectedCode, successCode: successCode); /// var optionalCasting = ConvertClass<ProductValidationSummary/>(result); /// return optionalCasting; /// </code> /// </example> /// </summary> public static Mozu.Api.Contracts.ProductRuntime.ProductValidationSummary ValidateProduct(ServiceClientMessageHandler handler, Mozu.Api.Contracts.ProductRuntime.ProductOptionSelections productOptionSelections, string productCode, bool?skipInventoryCheck = null, string responseFields = null, HttpStatusCode expectedCode = HttpStatusCode.OK, HttpStatusCode successCode = HttpStatusCode.OK) { SetSdKparameters(); var currentClassName = System.Reflection.MethodInfo.GetCurrentMethod().DeclaringType.Name; var currentMethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; Debug.WriteLine(currentMethodName + '.' + currentMethodName); var apiClient = Mozu.Api.Clients.Commerce.Catalog.Storefront.ProductClient.ValidateProductClient( productOptionSelections: productOptionSelections, productCode: productCode, skipInventoryCheck: skipInventoryCheck, responseFields: responseFields); try { apiClient.WithContext(handler.ApiContext).Execute(); } catch (ApiException ex) { // Custom error handling for test cases can be placed here Exception customException = TestFailException.GetCustomTestException(ex, currentClassName, currentMethodName, expectedCode); if (customException != null) { throw customException; } return(null); } return(ResponseMessageFactory.CheckResponseCodes(apiClient.HttpResponse.StatusCode, expectedCode, successCode) ? (apiClient.Result()) : null); }
public virtual Mozu.Api.Contracts.ProductRuntime.ConfiguredProduct ConfiguredProduct(Mozu.Api.Contracts.ProductRuntime.ProductOptionSelections productOptionSelections, string productCode, bool?includeOptionDetails = null, bool?skipInventoryCheck = null, string responseFields = null) { MozuClient <Mozu.Api.Contracts.ProductRuntime.ConfiguredProduct> response; var client = Mozu.Api.Clients.Commerce.Catalog.Storefront.ProductClient.ConfiguredProductClient(productOptionSelections, productCode, includeOptionDetails, skipInventoryCheck, responseFields); client.WithContext(_apiContext); response = client.Execute(); return(response.Result()); }
/// <summary> /// /// </summary> /// <param name="productCode">The unique, user-defined product code of a product, used throughout to reference and associate to a product.</param> /// <param name="purchaseLocation">The location where the order item(s) was purchased.</param> /// <param name="quantity">The number of cart items in the shopper's active cart.</param> /// <param name="responseFields">Filtering syntax appended to an API call to increase or decrease the amount of data returned inside a JSON object. This parameter should only be used to retrieve data. Attempting to update data using this parameter may cause data loss.</param> /// <param name="skipDefaults">Normally, product validation applies default extras to products that do not have options specified. If , product validation does not apply default extras to products.</param> /// <param name="skipInventoryCheck">If true, skip the process to validate inventory when creating this product reservation.</param> /// <param name="productOptionSelections">For a product with shopper-configurable options, the properties of the product options selected by the shopper.</param> /// <returns> /// <see cref="Mozu.Api.Contracts.ProductRuntime.ProductValidationSummary"/> /// </returns> /// <example> /// <code> /// var product = new Product(); /// var productValidationSummary = await product.ValidateProductAsync( productOptionSelections, productCode, skipInventoryCheck, quantity, skipDefaults, purchaseLocation, responseFields); /// </code> /// </example> public virtual async Task <Mozu.Api.Contracts.ProductRuntime.ProductValidationSummary> ValidateProductAsync(Mozu.Api.Contracts.ProductRuntime.ProductOptionSelections productOptionSelections, string productCode, bool?skipInventoryCheck = null, int?quantity = null, bool?skipDefaults = null, string purchaseLocation = null, string responseFields = null, CancellationToken ct = default(CancellationToken)) { MozuClient <Mozu.Api.Contracts.ProductRuntime.ProductValidationSummary> response; var client = Mozu.Api.Clients.Commerce.Catalog.Storefront.ProductClient.ValidateProductClient(productOptionSelections, productCode, skipInventoryCheck, quantity, skipDefaults, purchaseLocation, responseFields); client.WithContext(_apiContext); response = await client.ExecuteAsync(ct).ConfigureAwait(false); return(await response.ResultAsync()); }
/// <summary> /// /// </summary> /// <param name="includeOptionDetails">If true, the response returns details about the product. If false, returns a product summary such as the product name, price, and sale price.</param> /// <param name="productCode">The unique, user-defined product code of a product, used throughout to reference and associate to a product.</param> /// <param name="purchaseLocation">The location where the order item(s) was purchased.</param> /// <param name="quantity">The number of cart items in the shopper's active cart.</param> /// <param name="responseFields">Filtering syntax appended to an API call to increase or decrease the amount of data returned inside a JSON object. This parameter should only be used to retrieve data. Attempting to update data using this parameter may cause data loss.</param> /// <param name="skipInventoryCheck">If true, skip the process to validate inventory when creating this product reservation.</param> /// <param name="variationProductCodeFilter"></param> /// <param name="productOptionSelections">For a product with shopper-configurable options, the properties of the product options selected by the shopper.</param> /// <returns> /// <see cref="Mozu.Api.MozuClient" />{<see cref="Mozu.Api.Contracts.ProductRuntime.ConfiguredProduct"/>} /// </returns> /// <example> /// <code> /// var mozuClient=ConfiguredProduct( productOptionSelections, productCode, includeOptionDetails, skipInventoryCheck, quantity, purchaseLocation, variationProductCodeFilter, responseFields); /// var configuredProductClient = mozuClient.WithBaseAddress(url).Execute().Result(); /// </code> /// </example> public static MozuClient <Mozu.Api.Contracts.ProductRuntime.ConfiguredProduct> ConfiguredProductClient(Mozu.Api.Contracts.ProductRuntime.ProductOptionSelections productOptionSelections, string productCode, bool?includeOptionDetails = null, bool?skipInventoryCheck = null, int?quantity = null, string purchaseLocation = null, string variationProductCodeFilter = null, string responseFields = null) { var url = Mozu.Api.Urls.Commerce.Catalog.Storefront.ProductUrl.ConfiguredProductUrl(productCode, includeOptionDetails, skipInventoryCheck, quantity, purchaseLocation, variationProductCodeFilter, responseFields); const string verb = "POST"; var mozuClient = new MozuClient <Mozu.Api.Contracts.ProductRuntime.ConfiguredProduct>() .WithVerb(verb).WithResourceUrl(url) .WithBody <Mozu.Api.Contracts.ProductRuntime.ProductOptionSelections>(productOptionSelections); return(mozuClient); }
public virtual Mozu.Api.Contracts.ProductRuntime.ProductValidationSummary ValidateProduct(Mozu.Api.Contracts.ProductRuntime.ProductOptionSelections productOptionSelections, string productCode, bool?skipInventoryCheck = null, int?quantity = null, string responseFields = null) { MozuClient <Mozu.Api.Contracts.ProductRuntime.ProductValidationSummary> response; var client = Mozu.Api.Clients.Commerce.Catalog.Storefront.ProductClient.ValidateProductClient(productOptionSelections, productCode, skipInventoryCheck, quantity, responseFields); client.WithContext(_apiContext); response = client.Execute(); return(response.Result()); }
/// <summary> /// /// <example> /// <code> /// var result = ProductFactory.ConfiguredProduct(handler : handler, productOptionSelections : productOptionSelections, productCode : productCode, includeOptionDetails : includeOptionDetails, skipInventoryCheck : skipInventoryCheck, quantity : quantity, purchaseLocation : purchaseLocation, variationProductCodeFilter : variationProductCodeFilter, responseFields : responseFields, expectedCode: expectedCode, successCode: successCode); /// var optionalCasting = ConvertClass<ConfiguredProduct/>(result); /// return optionalCasting; /// </code> /// </example> /// </summary> public static Mozu.Api.Contracts.ProductRuntime.ConfiguredProduct ConfiguredProduct(ServiceClientMessageHandler handler, Mozu.Api.Contracts.ProductRuntime.ProductOptionSelections productOptionSelections, string productCode, bool?includeOptionDetails = null, bool?skipInventoryCheck = null, int?quantity = null, string purchaseLocation = null, string variationProductCodeFilter = null, string responseFields = null, HttpStatusCode expectedCode = HttpStatusCode.OK, HttpStatusCode successCode = HttpStatusCode.OK) { SetSdKparameters(); var currentClassName = System.Reflection.MethodInfo.GetCurrentMethod().DeclaringType.Name; var currentMethodName = System.Reflection.MethodBase.GetCurrentMethod().Name; Debug.WriteLine(currentMethodName + '.' + currentMethodName); var apiClient = Mozu.Api.Clients.Commerce.Catalog.Storefront.ProductClient.ConfiguredProductClient( productOptionSelections: productOptionSelections, productCode: productCode, includeOptionDetails: includeOptionDetails, skipInventoryCheck: skipInventoryCheck, quantity: quantity, purchaseLocation: purchaseLocation, variationProductCodeFilter: variationProductCodeFilter, responseFields: responseFields); try { apiClient.WithContext(handler.ApiContext).ExecuteAsync(default(CancellationToken)).Wait(); } catch (ApiException ex) { // Custom error handling for test cases can be placed here Exception customException = TestFailException.GetCustomTestException(ex, currentClassName, currentMethodName, expectedCode); if (customException != null) { throw customException; } return(null); } return(ResponseMessageFactory.CheckResponseCodes(apiClient.HttpResponse.StatusCode, expectedCode, successCode) ? (apiClient.Result()) : null); }