예제 #1
0
        /// <summary>
        /// Updates one or more properties of a product type.
        /// <example>
        ///  <code>
        /// var result = ProductTypeFactory.UpdateProductType(handler : handler,  productType :  productType,  productTypeId :  productTypeId,  responseFields :  responseFields,  dataViewMode: dataViewMode,  expectedCode: expectedCode, successCode: successCode);
        /// var optionalCasting = ConvertClass<ProductType/>(result);
        /// return optionalCasting;
        ///  </code>
        /// </example>
        /// </summary>
        public static Mozu.Api.Contracts.ProductAdmin.ProductType UpdateProductType(ServiceClientMessageHandler handler,
                                                                                    Mozu.Api.Contracts.ProductAdmin.ProductType productType, int productTypeId, 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.Admin.Attributedefinition.ProductTypeClient.UpdateProductTypeClient(
                productType:  productType, productTypeId:  productTypeId, 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);
        }
        public virtual Mozu.Api.Contracts.ProductAdmin.ProductType UpdateProductType(Mozu.Api.Contracts.ProductAdmin.ProductType productType, int productTypeId, string responseFields = null)
        {
            MozuClient <Mozu.Api.Contracts.ProductAdmin.ProductType> response;
            var client = Mozu.Api.Clients.Commerce.Catalog.Admin.Attributedefinition.ProductTypeClient.UpdateProductTypeClient(_dataViewMode, productType, productTypeId, responseFields);

            client.WithContext(_apiContext);
            response = client.Execute();
            return(response.Result());
        }
예제 #3
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="productTypeId">Identifier of the product type.</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="dataViewMode">{<see cref="Mozu.Api.DataViewMode"/>}</param>
        /// <param name="productType">A product type is like a product template.</param>
        /// <returns>
        /// <see cref="Mozu.Api.Contracts.ProductAdmin.ProductType"/>
        /// </returns>
        /// <example>
        /// <code>
        ///   var producttype = new ProductType();
        ///   var productType = await producttype.UpdateProductTypeAsync(_dataViewMode,  productType,  productTypeId,  responseFields);
        /// </code>
        /// </example>
        public virtual async Task <Mozu.Api.Contracts.ProductAdmin.ProductType> UpdateProductTypeAsync(Mozu.Api.Contracts.ProductAdmin.ProductType productType, int productTypeId, string responseFields = null, CancellationToken ct = default(CancellationToken))
        {
            MozuClient <Mozu.Api.Contracts.ProductAdmin.ProductType> response;
            var client = Mozu.Api.Clients.Commerce.Catalog.Admin.Attributedefinition.ProductTypeClient.UpdateProductTypeClient(_dataViewMode, productType, productTypeId, responseFields);

            client.WithContext(_apiContext);
            response = await client.ExecuteAsync(ct).ConfigureAwait(false);

            return(await response.ResultAsync());
        }
        /// <summary>
        /// Creates a new product type based on the information supplied in the request.
        /// </summary>
        /// <param name="responseFields">Use this field to include those fields which are not included by default.</param>
        /// <param name="dataViewMode">{<see cref="Mozu.Api.DataViewMode"/>}</param>
        /// <param name="productType">A product type is like a product template.</param>
        /// <returns>
        /// <see cref="Mozu.Api.Contracts.ProductAdmin.ProductType"/>
        /// </returns>
        /// <example>
        /// <code>
        ///   var producttype = new ProductType();
        ///   var productType = await producttype.AddProductTypeAsync(_dataViewMode,  productType,  responseFields);
        /// </code>
        /// </example>
        public virtual async Task <Mozu.Api.Contracts.ProductAdmin.ProductType> AddProductTypeAsync(Mozu.Api.Contracts.ProductAdmin.ProductType productType, string responseFields = null)
        {
            MozuClient <Mozu.Api.Contracts.ProductAdmin.ProductType> response;
            var client = Mozu.Api.Clients.Commerce.Catalog.Admin.Attributedefinition.ProductTypeClient.AddProductTypeClient(_dataViewMode, productType, responseFields);

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

            return(await response.ResultAsync());
        }
예제 #5
0
        public async Task <Mozu.Api.Contracts.ProductAdmin.ProductType> UpdateProductType(int tenantId, int?siteId,
                                                                                          int?masterCatalogId, Mozu.Api.Contracts.ProductAdmin.ProductType productType)
        {
            _apiContext = new ApiContext(tenantId, siteId, masterCatalogId);

            var productTypeResource = new ProductTypeResource(_apiContext);
            var updatedProductType  = await productTypeResource.UpdateProductTypeAsync(productType,
                                                                                       Convert.ToInt32(productType.Id), null);

            return(updatedProductType);
        }
예제 #6
0
        public async Task <Mozu.Api.Contracts.ProductAdmin.ProductType> AddProductType(int tenantId, int?siteId,
                                                                                       int?masterCatalogId, Mozu.Api.Contracts.ProductAdmin.ProductType productType)
        {
            _apiContext = new ApiContext(tenantId, siteId, masterCatalogId);

            var productTypeResource = new ProductTypeResource(_apiContext);
            var newProductType      = await productTypeResource.AddProductTypeAsync(productType, null);

            return(newProductType);
        }
        /// <summary>
        /// Creates a new product type based on the information supplied in the request.
        /// </summary>
        /// <param name="responseFields">Use this field to include those fields which are not included by default.</param>
        /// <param name="dataViewMode">{<see cref="Mozu.Api.DataViewMode"/>}</param>
        /// <param name="productType">A product type is like a product template.</param>
        /// <returns>
        ///  <see cref="Mozu.Api.MozuClient" />{<see cref="Mozu.Api.Contracts.ProductAdmin.ProductType"/>}
        /// </returns>
        /// <example>
        /// <code>
        ///   var mozuClient=AddProductType(dataViewMode,  productType,  responseFields);
        ///   var productTypeClient = mozuClient.WithBaseAddress(url).Execute().Result();
        /// </code>
        /// </example>
        public static MozuClient <Mozu.Api.Contracts.ProductAdmin.ProductType> AddProductTypeClient(DataViewMode dataViewMode, Mozu.Api.Contracts.ProductAdmin.ProductType productType, string responseFields = null)
        {
            var          url        = Mozu.Api.Urls.Commerce.Catalog.Admin.Attributedefinition.ProductTypeUrl.AddProductTypeUrl(responseFields);
            const string verb       = "POST";
            var          mozuClient = new MozuClient <Mozu.Api.Contracts.ProductAdmin.ProductType>()
                                      .WithVerb(verb).WithResourceUrl(url)
                                      .WithBody <Mozu.Api.Contracts.ProductAdmin.ProductType>(productType).WithHeader(Headers.X_VOL_DATAVIEW_MODE, dataViewMode.ToString())
            ;

            return(mozuClient);
        }