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 }
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); }