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 }
/// <summary> /// Return the property value for the current shopalias /// </summary> /// <param name="nodeId">The node unique identifier.</param> /// <param name="propertyAlias">The property alias.</param> /// <returns></returns> public static string GetPropertyValueForCurrentShop(int nodeId, string propertyAlias) { var store = StoreHelper.GetCurrentStore(); propertyAlias = StoreHelper.CreateMultiStorePropertyAlias(propertyAlias, store.Alias); var node = new umbraco.NodeFactory.Node(nodeId); var property = node.GetProperty(propertyAlias); return(property == null ? string.Empty : property.Value); }
/// <summary> /// Get the value based on the Store Alias /// </summary> /// <param name="node">The node.</param> /// <param name="alias">The alias.</param> /// <param name="storeAlias">The store alias.</param> /// <returns></returns> public static IProperty GetMultiStoreItem(this INode node, string alias, string storeAlias = null) { var originalAlias = alias; if (node == null) { return(null); } #region backend // todo: fix backend, add inCMSbackend check? int id; if (!string.IsNullOrEmpty(library.Request("id")) && int.TryParse(library.Request("id"), out id)) { var typeAlias = node.NodeTypeAlias; var orderNode = node; if (OrderedProduct.IsAlias(typeAlias) && !OrderedProductVariant.IsAlias(typeAlias)) { orderNode = orderNode.Parent; } if (typeAlias == Order.NodeAlias || OrderedProduct.IsAlias(typeAlias) && !OrderedProductVariant.IsAlias(typeAlias)) { var orderInfoDoc = OrderHelper.GetOrder(Guid.Parse(orderNode.GetProperty("orderGuid").Value)); alias = StoreHelper.CreateMultiStorePropertyAlias(alias, orderInfoDoc.StoreInfo.Alias); var propertyDoc = node.GetProperty(alias); if (propertyDoc == null || string.IsNullOrEmpty(propertyDoc.Value)) { propertyDoc = node.GetProperty(originalAlias); } return(propertyDoc); } } #endregion #region frontend // dit gebeurt duizenden keren if (storeAlias == null) { storeAlias = StoreHelper.GetCurrentStore().Alias; } if (storeAlias != null) { alias = StoreHelper.CreateMultiStorePropertyAlias(alias, storeAlias); } var property = node.GetProperty(alias); if (property == null || string.IsNullOrEmpty(property.Value)) { property = node.GetProperty(originalAlias); } return(property); #endregion }
// unsure about location! (maybe another service) public string GetMultiStoreContentProperty(int contentId, string propertyAlias, ILocalization localization, bool globalOverrulesStore = false) { var examineNode = Helpers.GetNodeFromExamine(contentId, "GetMultiStoreItem::" + propertyAlias); if (localization == null) { localization = StoreHelper.CurrentLocalization; } var multiStoreAlias = StoreHelper.CreateMultiStorePropertyAlias(propertyAlias, localization.StoreAlias); var multiStoreMultiCurrencyAlias = StoreHelper.CreateFullLocalizedPropertyAlias(propertyAlias, localization); if (examineNode != null) { if (multiStoreAlias.StartsWith("description")) { multiStoreAlias = "RTEItem" + multiStoreAlias; propertyAlias = "RTEItem" + propertyAlias; } if (globalOverrulesStore && examineNode.Fields.ContainsKey(propertyAlias)) { return(examineNode.Fields[propertyAlias] ?? string.Empty); } if (examineNode.Fields.ContainsKey(multiStoreMultiCurrencyAlias)) { return(examineNode.Fields[multiStoreMultiCurrencyAlias] ?? string.Empty); } if (examineNode.Fields.ContainsKey(multiStoreAlias)) { return(examineNode.Fields[multiStoreAlias] ?? string.Empty); } if (examineNode.Fields.ContainsKey(propertyAlias)) { return(examineNode.Fields[propertyAlias] ?? string.Empty); } Log.Instance.LogDebug("GetMultiStoreContentProperty Fallback to node after this"); } var node = new Node(contentId); if (node.Name != null) { var property = node.GetProperty(propertyAlias); if (globalOverrulesStore && property != null && !string.IsNullOrEmpty(property.Value)) { return(property.Value); } var propertyMultiStoreMultiCurrency = node.GetProperty(multiStoreMultiCurrencyAlias); if (propertyMultiStoreMultiCurrency != null && !string.IsNullOrEmpty(propertyMultiStoreMultiCurrency.Value)) { return(propertyMultiStoreMultiCurrency.Value); } var propertyMultistore = node.GetProperty(multiStoreAlias); if (propertyMultistore != null && !string.IsNullOrEmpty(propertyMultistore.Value)) { return(propertyMultistore.Value); } if (property != null) { return(property.Value); } } return(string.Empty); }
private void SetStoreDisablePropertyTrue() { _propertyProvider.Dictionary.Add(StoreHelper.CreateMultiStorePropertyAlias("disable", StoreAlias), "1"); }