/// <summary> /// /// <example> /// <code> /// var result = ShippingFactory.GetRates(handler : handler, rateRequest : rateRequest, includeRawResponse : includeRawResponse, responseFields : responseFields, expectedCode: expectedCode, successCode: successCode); /// var optionalCasting = ConvertClass<RatesResponse/>(result); /// return optionalCasting; /// </code> /// </example> /// </summary> public static Mozu.Api.Contracts.ShippingRuntime.RatesResponse GetRates(ServiceClientMessageHandler handler, Mozu.Api.Contracts.ShippingRuntime.RateRequest rateRequest, bool?includeRawResponse = 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.ShippingClient.GetRatesClient( rateRequest: rateRequest, includeRawResponse: includeRawResponse, 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); }
public virtual Mozu.Api.Contracts.ShippingRuntime.RatesResponse GetRates(Mozu.Api.Contracts.ShippingRuntime.RateRequest rateRequest, string responseFields = null) { MozuClient <Mozu.Api.Contracts.ShippingRuntime.RatesResponse> response; var client = Mozu.Api.Clients.Commerce.Catalog.Storefront.ShippingClient.GetRatesClient(rateRequest, responseFields); client.WithContext(_apiContext); response = client.Execute(); return(response.Result()); }
/// <summary> /// /// </summary> /// <param name="includeRawResponse">Set this parameter to to retrieve the full raw JSON response from a shipping carrier (instead of just the shipping rate).</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="rateRequest">Properties required to request a shipping rate calculation.</param> /// <returns> /// <see cref="Mozu.Api.Contracts.ShippingRuntime.RatesResponse"/> /// </returns> /// <example> /// <code> /// var shipping = new Shipping(); /// var ratesResponse = await shipping.GetRatesAsync( rateRequest, includeRawResponse, responseFields); /// </code> /// </example> public virtual async Task <Mozu.Api.Contracts.ShippingRuntime.RatesResponse> GetRatesAsync(Mozu.Api.Contracts.ShippingRuntime.RateRequest rateRequest, bool?includeRawResponse = null, string responseFields = null, CancellationToken ct = default(CancellationToken)) { MozuClient <Mozu.Api.Contracts.ShippingRuntime.RatesResponse> response; var client = Mozu.Api.Clients.Commerce.Catalog.Storefront.ShippingClient.GetRatesClient(rateRequest, includeRawResponse, responseFields); client.WithContext(_apiContext); response = await client.ExecuteAsync(ct).ConfigureAwait(false); return(await response.ResultAsync()); }
/// <summary> /// Retrieves the shipping rates applicable for the site. /// </summary> /// <param name="responseFields">Use this field to include those fields which are not included by default.</param> /// <param name="rateRequest">Properties required to request a shipping rate calculation.</param> /// <returns> /// <see cref="Mozu.Api.MozuClient" />{<see cref="Mozu.Api.Contracts.ShippingRuntime.RatesResponse"/>} /// </returns> /// <example> /// <code> /// var mozuClient=GetRates( rateRequest, responseFields); /// var ratesResponseClient = mozuClient.WithBaseAddress(url).Execute().Result(); /// </code> /// </example> public static MozuClient <Mozu.Api.Contracts.ShippingRuntime.RatesResponse> GetRatesClient(Mozu.Api.Contracts.ShippingRuntime.RateRequest rateRequest, string responseFields = null) { var url = Mozu.Api.Urls.Commerce.Catalog.Storefront.ShippingUrl.GetRatesUrl(responseFields); const string verb = "POST"; var mozuClient = new MozuClient <Mozu.Api.Contracts.ShippingRuntime.RatesResponse>() .WithVerb(verb).WithResourceUrl(url) .WithBody <Mozu.Api.Contracts.ShippingRuntime.RateRequest>(rateRequest); return(mozuClient); }