Exemplo n.º 1
0
        public PropertyResult GetProperty(string alias, bool recursive, out bool propertyExists)
        {
            if (!recursive)
            {
                return(GetProperty(alias, out propertyExists));
            }
            if (IsNull())
            {
                propertyExists = false;
                return(null);
            }
            DynamicBackingItem context = this;
            PropertyResult     prop    = this.GetProperty(alias, out propertyExists);

            while (prop == null || string.IsNullOrEmpty(prop.Value))
            {
                context = context.Parent;
                if (context == null)
                {
                    break;
                }
                prop = context.GetProperty(alias, out propertyExists);
            }
            if (prop != null)
            {
                return(prop);
            }
            return(null);
        }
Exemplo n.º 2
0
        public PropertyResult GetProperty(string alias, out bool propertyExists)
        {
            if (IsNull())
            {
                propertyExists = false;
                return(null);
            }
            PropertyResult property      = null;
            IProperty      innerProperty = null;

            if (Type == DynamicBackingItemType.Content)
            {
                innerProperty = content.GetProperty(alias, out propertyExists);
                if (innerProperty != null)
                {
                    property = new PropertyResult(innerProperty);
                    property.ContextAlias = content.NodeTypeAlias;
                    property.ContextId    = content.Id;
                }
            }
            else
            {
                string[] internalProperties = new string[] {
                    "id", "nodeName", "updateDate", "writerName", "path", "nodeTypeAlias",
                    "parentID", "__NodeId", "__IndexType", "__Path", "__NodeTypeAlias",
                    "__nodeName", "umbracoBytes", "umbracoExtension", "umbracoFile", "umbracoWidth",
                    "umbracoHeight"
                };
                if (media.WasLoadedFromExamine && !internalProperties.Contains(alias) && !media.Values.ContainsKey(alias))
                {
                    //examine doesn't load custom properties
                    innerProperty = media.LoadCustomPropertyNotFoundInExamine(alias, out propertyExists);
                    if (innerProperty != null)
                    {
                        property = new PropertyResult(innerProperty);
                        property.ContextAlias = media.NodeTypeAlias;
                        property.ContextId    = media.Id;
                    }
                }
                else
                {
                    innerProperty = media.GetProperty(alias, out propertyExists);
                    if (innerProperty != null)
                    {
                        property = new PropertyResult(innerProperty);
                        property.ContextAlias = media.NodeTypeAlias;
                        property.ContextId    = media.Id;
                    }
                }
            }
            return(property);
        }
Exemplo n.º 3
0
 public PropertyResult GetProperty(string alias, out bool propertyExists)
 {
     if (IsNull())
     {
         propertyExists = false;
         return null;
     }
     PropertyResult property = null;
     IProperty innerProperty = null;
     if (Type == DynamicBackingItemType.Content)
     {
         innerProperty = content.GetProperty(alias, out propertyExists);
         if (innerProperty != null)
         {
             property = new PropertyResult(innerProperty);
             property.ContextAlias = content.NodeTypeAlias;
             property.ContextId = content.Id;
         }
     }
     else
     {
         string[] internalProperties = new string[] {
             "id", "nodeName", "updateDate", "writerName", "path", "nodeTypeAlias",
             "parentID", "__NodeId", "__IndexType", "__Path", "__NodeTypeAlias", 
             "__nodeName", Constants.Conventions.Media.Bytes, Constants.Conventions.Media.Extension, Constants.Conventions.Media.File, Constants.Conventions.Media.Width,
             Constants.Conventions.Media.Height
         };
         if (media.WasLoadedFromExamine && !internalProperties.Contains(alias) && !media.Values.ContainsKey(alias))
         {
             //examine doesn't load custom properties
             innerProperty = media.LoadCustomPropertyNotFoundInExamine(alias, out propertyExists);
             if (innerProperty != null)
             {
                 property = new PropertyResult(innerProperty);
                 property.ContextAlias = media.NodeTypeAlias;
                 property.ContextId = media.Id;
             }
         }
         else
         {
             innerProperty = media.GetProperty(alias, out propertyExists);
             if (innerProperty != null)
             {
                 property = new PropertyResult(innerProperty);
                 property.ContextAlias = media.NodeTypeAlias;
                 property.ContextId = media.Id;
             }
         }
     }
     return property;
 }