예제 #1
0
        /// <summary>
        /// Publishes the draft version of product changes (pending product changes) for each product code specified in the request, and changes the product publish state to "live".
        /// <example>
        ///  <code>
        /// var result = PublishingScopeFactory.PublishDrafts(handler : handler,  publishScope :  publishScope, dataViewMode: dataViewMode,  expectedCode: expectedCode, successCode: successCode);
        /// var optionalCasting = ConvertClass<void/>(result);
        /// return optionalCasting;
        ///  </code>
        /// </example>
        /// </summary>
        public static void PublishDrafts(ServiceClientMessageHandler handler,
                                         Mozu.Api.Contracts.ProductAdmin.PublishingScope publishScope, DataViewMode dataViewMode = DataViewMode.Live,
                                         HttpStatusCode expectedCode = HttpStatusCode.NoContent, HttpStatusCode successCode = HttpStatusCode.NoContent)
        {
            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.PublishingScopeClient.PublishDraftsClient(
                publishScope:  publishScope, 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;
                }
            }
            var noResponse = ResponseMessageFactory.CheckResponseCodes(apiClient.HttpResponse.StatusCode, expectedCode, successCode)
                                         ? (apiClient.Result())
                                         : null;
        }
예제 #2
0
        public virtual void DiscardDrafts(Mozu.Api.Contracts.ProductAdmin.PublishingScope publishScope)
        {
            MozuClient response;
            var        client = Mozu.Api.Clients.Commerce.Catalog.Admin.PublishingScopeClient.DiscardDraftsClient(_dataViewMode, publishScope);

            client.WithContext(_apiContext);
            response = client.Execute();
        }
예제 #3
0
        /// <summary>
        /// Publishes the draft version of product changes for each product code specified in the request, and changes the product publish state to "live".
        /// </summary>
        /// <param name="dataViewMode">{<see cref="Mozu.Api.DataViewMode"/>}</param>
        /// <param name="publishScope">Describes the scope of the product publishing update, which can include individual product codes or all pending changes.</param>
        /// <returns>
        ///
        /// </returns>
        /// <example>
        /// <code>
        ///   var publishingscope = new PublishingScope();
        ///   await publishingscope.PublishDraftsAsync(_dataViewMode,  publishScope);
        /// </code>
        /// </example>
        public virtual async Task PublishDraftsAsync(Mozu.Api.Contracts.ProductAdmin.PublishingScope publishScope)
        {
            MozuClient response;
            var        client = Mozu.Api.Clients.Commerce.Catalog.Admin.PublishingScopeClient.PublishDraftsClient(_dataViewMode, publishScope);

            client.WithContext(_apiContext);
            response = await client.ExecuteAsync();
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="dataViewMode">{<see cref="Mozu.Api.DataViewMode"/>}</param>
        /// <param name="publishScope">Describes the scope of the product publishing update, which can include individual product codes or all pending changes.</param>
        /// <returns>
        ///
        /// </returns>
        /// <example>
        /// <code>
        ///   var publishingscope = new PublishingScope();
        ///   await publishingscope.PublishDraftsAsync(_dataViewMode,  publishScope);
        /// </code>
        /// </example>
        public virtual async Task PublishDraftsAsync(Mozu.Api.Contracts.ProductAdmin.PublishingScope publishScope, CancellationToken ct = default(CancellationToken))
        {
            MozuClient response;
            var        client = Mozu.Api.Clients.Commerce.Catalog.Admin.PublishingScopeClient.PublishDraftsClient(_dataViewMode, publishScope);

            client.WithContext(_apiContext);
            response = await client.ExecuteAsync(ct).ConfigureAwait(false);
        }
예제 #5
0
        /// <summary>
        /// Deletes the draft version of product changes (pending product changes) for each product code specified in the request.
        /// </summary>
        /// <param name="dataViewMode">{<see cref="Mozu.Api.DataViewMode"/>}</param>
        /// <param name="publishScope">Describes the scope of the product publishing update, which can include individual product codes or all pending changes.</param>
        /// <returns>
        ///  <see cref="Mozu.Api.MozuClient" />
        /// </returns>
        /// <example>
        /// <code>
        ///   var mozuClient=DiscardDrafts(dataViewMode,  publishScope);
        ///mozuClient.WithBaseAddress(url).Execute();
        /// </code>
        /// </example>
        public static MozuClient DiscardDraftsClient(DataViewMode dataViewMode, Mozu.Api.Contracts.ProductAdmin.PublishingScope publishScope)
        {
            var          url        = Mozu.Api.Urls.Commerce.Catalog.Admin.PublishingScopeUrl.DiscardDraftsUrl();
            const string verb       = "POST";
            var          mozuClient = new MozuClient()
                                      .WithVerb(verb).WithResourceUrl(url)
                                      .WithBody <Mozu.Api.Contracts.ProductAdmin.PublishingScope>(publishScope).WithHeader(Headers.X_VOL_DATAVIEW_MODE, dataViewMode.ToString())
            ;

            return(mozuClient);
        }