Exemple #1
0
        public static umbraco.cms.businesslogic.property.Property GetMultiStoreItem(this Document document, string alias)
        {
            var originalAlias = alias;

            #region frontend

            var orderInfo = OrderHelper.GetOrder();
            if (string.IsNullOrEmpty(library.Request("id")))
            {
                if (orderInfo != null)
                {
                    alias = StoreHelper.CreateMultiStorePropertyAlias(alias, orderInfo.StoreInfo.Alias);
                }
                else
                {
                    var sAlias = StoreHelper.GetCurrentStore();
                    alias = StoreHelper.CreateMultiStorePropertyAlias(alias, sAlias.Alias);
                }
                return(document.getProperty(alias));
            }

            #endregion

            #region backend

            //var nodeId = int.Parse(library.Request("id"));
            //var orderNode = new Order(nodeId);

            var typeAlias = document.ContentType.Alias;
            var orderDoc  = document;
            if (OrderedProduct.IsAlias(orderDoc.ContentType.Alias) && !OrderedProductVariant.IsAlias(orderDoc.ContentType.Alias))
            {
                orderDoc = new Document(orderDoc.ParentId);
            }

            if (typeAlias == Order.NodeAlias || OrderedProduct.IsAlias(typeAlias) && !OrderedProductVariant.IsAlias(typeAlias))
            {
                var orderInfoDoc = OrderHelper.GetOrderInfo(Guid.Parse(orderDoc.getProperty("orderGuid").Value.ToString()));
                var store        = StoreHelper.GetByAlias(orderInfoDoc.StoreInfo.Alias);

                if (store != null)
                {
                    alias = StoreHelper.CreateMultiStorePropertyAlias(alias, store.Alias);
                }
            }

            var property = document.getProperty(alias);

            if (property == null || property.Value == null)
            {
                property = document.getProperty(originalAlias);
            }

            return(property);

            #endregion
        }
Exemple #2
0
        public Store TryGetStoreFromCookie()
        {
            if (_cmsApplication.RequestIsInCMSBackend(HttpContext.Current))
            {
                return(null);
            }

            if (HttpContext.Current.Request.Cookies["StoreInfo"] != null)
            {
                var storeAlias = HttpContext.Current.Request.Cookies["StoreInfo"].Values["StoreAlias"];

                if (!string.IsNullOrEmpty(storeAlias))
                {
                    return(StoreHelper.GetByAlias(storeAlias));
                }
            }

            return(null);
        }
        /// <summary>
        /// Dots the net framework fallback.
        /// </summary>
        /// <param name="storeAlias">The store alias.</param>
        /// <returns></returns>
        protected virtual List <Country> DotNETFrameworkFallback(string storeAlias)
        {
            Store store = StoreHelper.GetByAlias(storeAlias);

            CultureInfo currentCulture   = Thread.CurrentThread.CurrentCulture;
            CultureInfo currentUICulture = Thread.CurrentThread.CurrentUICulture;

            if (store != null)
            {
                Thread.CurrentThread.CurrentCulture   = store.CultureInfo;
                Thread.CurrentThread.CurrentUICulture = store.CultureInfo;
            }

            var cultureList = new Dictionary <string, string>();

            foreach (var culture in CultureInfo.GetCultures(CultureTypes.SpecificCultures))
            {
                var region = new RegionInfo(culture.LCID);

                if (!(cultureList.ContainsKey(region.TwoLetterISORegionName)))
                {
                    cultureList.Add(region.TwoLetterISORegionName, region.DisplayName);
                }
            }

            List <Country> countries = cultureList.Select(culture => new Country {
                Name = culture.Value, Code = culture.Key
            }).Where(country => !string.IsNullOrEmpty(country.Name)).OrderBy(country => country.Name).ToList();

            if (store != null)
            {
                Thread.CurrentThread.CurrentCulture   = currentCulture;
                Thread.CurrentThread.CurrentUICulture = currentUICulture;
            }

            return(countries);
        }