Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 2
0
        /// <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());
        }
Ejemplo n.º 3
0
        /// <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);
        }
Ejemplo n.º 4
0
        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());
        }
Ejemplo n.º 5
0
        /// <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());
        }
Ejemplo n.º 6
0
        /// <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);
        }
Ejemplo n.º 7
0
        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);
        }