public ManagerResponse <GetAvailableRegionsResult, Dictionary <string, string> > GetAvailableRegions(string countryCode)
        {
            Assert.ArgumentNotNullOrEmpty(countryCode, nameof(countryCode));

            var request = new GetAvailableRegionsRequest(countryCode);
            var result  = new GetAvailableRegionsResult();
            var key     = $"GetAvailableRegionsResult{countryCode}";

            var cachedRegions = GetFromCache <GetAvailableRegionsResult>(key);

            if (cachedRegions != null)
            {
                result = cachedRegions;
            }
            else
            {
                result = OrderServiceProvider.GetAvailableRegions(request);
                AddToCache(key, result);
            }

            result.WriteToSitecoreLog();

            var response = new ManagerResponse <GetAvailableRegionsResult, Dictionary <string, string> >(result, new Dictionary <string, string>(result.AvailableRegions));

            return(response);
        }
        public ManagerResponse <GetAvailableRegionsResult, Dictionary <string, string> > GetAvailableRegions(string countryCode)
        {
            Assert.ArgumentNotNullOrEmpty(countryCode, nameof(countryCode));

            var request = new GetAvailableRegionsRequest(countryCode);
            var result  = OrderServiceProvider.GetAvailableRegions(request);

            result.WriteToSitecoreLog();
            return(new ManagerResponse <GetAvailableRegionsResult, Dictionary <string, string> >(result, new Dictionary <string, string>(result.AvailableRegions)));
        }
        /// <summary>
        /// Gets the available states.
        /// </summary>
        /// <param name="storefront">The storefront.</param>
        /// <param name="visitorContext">The visitor context.</param>
        /// <param name="countryCode">The country code.</param>
        /// <returns>
        /// The manager response where the available states are returned in the Result.
        /// </returns>
        public ManagerResponse <GetAvailableRegionsResult, Dictionary <string, string> > GetAvailableRegions([NotNull] CommerceStorefront storefront, [NotNull] IVisitorContext visitorContext, [NotNull] string countryCode)
        {
            Assert.ArgumentNotNull(storefront, "storefront");
            Assert.ArgumentNotNull(visitorContext, "visitorContext");
            Assert.ArgumentNotNullOrEmpty(countryCode, "countryCode");

            var request = new GetAvailableRegionsRequest(countryCode);
            var result  = ((CommerceOrderServiceProvider)this._orderServiceProvider).GetAvailableRegions(request);

            //Helpers.LogSystemMessages(result.SystemMessages, result);
            return(new ManagerResponse <GetAvailableRegionsResult, Dictionary <string, string> >(result, new Dictionary <string, string>(result.AvailableRegions)));
        }
Example #4
0
 public virtual GetAvailableRegionsResult GetAvailableRegions([NotNull] GetAvailableRegionsRequest request)
 {
     return(this.RunPipeline <GetAvailableRegionsRequest, GetAvailableRegionsResult>(CommerceServerStorefrontConstants.PipelineNames.GetAvailableRegions, request));
 }