private PropertyResult GetPropertyInternal(string alias, ExamineBackedMedia content)
        {
            bool propertyExists = false;
            var  prop           = content.GetProperty(alias, out propertyExists);

            if (prop != null)
            {
                return(new PropertyResult(prop)
                {
                    ContextAlias = content.NodeTypeAlias, ContextId = content.Id
                });
            }
            else
            {
                if (alias.Substring(0, 1).ToUpper() == alias.Substring(0, 1) && !propertyExists)
                {
                    prop = content.GetProperty(alias.Substring(0, 1).ToLower() + alias.Substring((1)), out propertyExists);
                    if (prop != null)
                    {
                        return(new PropertyResult(prop)
                        {
                            ContextAlias = content.NodeTypeAlias, ContextId = content.Id
                        });
                    }
                    else
                    {
                        object result = null;
                        try
                        {
                            result = content.GetType().InvokeMember(alias,
                                                                    System.Reflection.BindingFlags.GetProperty |
                                                                    System.Reflection.BindingFlags.Instance |
                                                                    System.Reflection.BindingFlags.Public |
                                                                    System.Reflection.BindingFlags.NonPublic,
                                                                    null,
                                                                    content,
                                                                    null);
                        }
                        catch (MissingMethodException)
                        {
                        }
                        if (result != null)
                        {
                            return(new PropertyResult(alias, string.Format("{0}", result), Guid.Empty)
                            {
                                ContextAlias = content.NodeTypeAlias, ContextId = content.Id
                            });
                        }
                    }
                }
            }
            return(null);
        }
 private PropertyResult GetPropertyInternal(string alias, ExamineBackedMedia content)
 {
     bool propertyExists = false;
     var prop = content.GetProperty(alias, out propertyExists);
     if (prop != null)
     {
         return new PropertyResult(prop) { ContextAlias = content.NodeTypeAlias, ContextId = content.Id };
     }
     else
     {
         if (alias.Substring(0, 1).ToUpper() == alias.Substring(0, 1) && !propertyExists)
         {
             prop = content.GetProperty(alias.Substring(0, 1).ToLower() + alias.Substring((1)), out propertyExists);
             if (prop != null)
             {
                 return new PropertyResult(prop) { ContextAlias = content.NodeTypeAlias, ContextId = content.Id };
             }
             else
             {
                 object result = null;
                 try
                 {
                     result = content.GetType().InvokeMember(alias,
                                               System.Reflection.BindingFlags.GetProperty |
                                               System.Reflection.BindingFlags.Instance |
                                               System.Reflection.BindingFlags.Public,
                                               null,
                                               content,
                                               null);
                 }
                 catch (MissingMethodException)
                 {
                 }
                 if (result != null)
                 {
                     return new PropertyResult(alias, string.Format("{0}", result)) { ContextAlias = content.NodeTypeAlias, ContextId = content.Id };
                 }
             }
         }
     }
     return null;
 }