Exemplo n.º 1
0
        /// <summary>
        /// Retrieves product inventories for the storefront displayed products.
        /// <example>
        ///  <code>
        /// var result = ProductRuntimeFactory.GetProductInventories(handler : handler,  query :  query,  responseFields :  responseFields,  dataViewMode: dataViewMode,  expectedCode: expectedCode, successCode: successCode);
        /// var optionalCasting = ConvertClass<LocationInventoryCollection/>(result);
        /// return optionalCasting;
        ///  </code>
        /// </example>
        /// </summary>
        public static Mozu.Api.Contracts.ProductRuntime.LocationInventoryCollection GetProductInventories(ServiceClientMessageHandler handler,
                                                                                                          Mozu.Api.Contracts.ProductRuntime.LocationInventoryQuery query, string responseFields = null, DataViewMode dataViewMode = DataViewMode.Live,
                                                                                                          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.GetProductInventoriesClient(
                query:  query, responseFields:  responseFields, dataViewMode: dataViewMode);

            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);
        }
Exemplo n.º 2
0
        /// <summary>
        /// Retrieves product inventories for the storefront displayed products.
        /// </summary>
        /// <param name="responseFields">A list or array of fields returned for a call. These fields may be customized and may be used for various types of data calls in Mozu. For example, responseFields are returned for retrieving or updating attributes, carts, and messages in Mozu.</param>
        /// <param name="query">Properties for the product location inventory provided for queries to locate products by their location.</param>
        /// <returns>
        ///  <see cref="Mozu.Api.MozuClient" />{<see cref="Mozu.Api.Contracts.ProductRuntime.LocationInventoryCollection"/>}
        /// </returns>
        /// <example>
        /// <code>
        ///   var mozuClient=GetProductInventories(dataViewMode,  query,  responseFields);
        ///   var locationInventoryCollectionClient = mozuClient.WithBaseAddress(url).Execute().Result();
        /// </code>
        /// </example>
        public static MozuClient <Mozu.Api.Contracts.ProductRuntime.LocationInventoryCollection> GetProductInventoriesClient(DataViewMode dataViewMode, Mozu.Api.Contracts.ProductRuntime.LocationInventoryQuery query, string responseFields = null)
        {
            var          url        = Mozu.Api.Urls.Commerce.Catalog.Storefront.ProductUrl.GetProductInventoriesUrl(responseFields);
            const string verb       = "POST";
            var          mozuClient = new MozuClient <Mozu.Api.Contracts.ProductRuntime.LocationInventoryCollection>()
                                      .WithVerb(verb).WithResourceUrl(url)
                                      .WithBody <Mozu.Api.Contracts.ProductRuntime.LocationInventoryQuery>(query).WithHeader(Headers.X_VOL_DATAVIEW_MODE, dataViewMode.ToString())
            ;

            return(mozuClient);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Retrieves product inventories for the storefront displayed products.
        /// </summary>
        /// <param name="responseFields">A list or array of fields returned for a call. These fields may be customized and may be used for various types of data calls in Mozu. For example, responseFields are returned for retrieving or updating attributes, carts, and messages in Mozu.</param>
        /// <param name="query">Properties for the product location inventory provided for queries to locate products by their location.</param>
        /// <returns>
        /// <see cref="Mozu.Api.Contracts.ProductRuntime.LocationInventoryCollection"/>
        /// </returns>
        /// <example>
        /// <code>
        ///   var product = new Product();
        ///   var locationInventoryCollection = await product.GetProductInventoriesAsync(_dataViewMode,  query,  responseFields);
        /// </code>
        /// </example>
        public virtual async Task <Mozu.Api.Contracts.ProductRuntime.LocationInventoryCollection> GetProductInventoriesAsync(Mozu.Api.Contracts.ProductRuntime.LocationInventoryQuery query, string responseFields = null)
        {
            MozuClient <Mozu.Api.Contracts.ProductRuntime.LocationInventoryCollection> response;
            var client = Mozu.Api.Clients.Commerce.Catalog.Storefront.ProductClient.GetProductInventoriesClient(_dataViewMode, query, responseFields);

            client.WithContext(_apiContext);
            response = await client.ExecuteAsync();

            return(await response.ResultAsync());
        }