/// <summary> /// Called to map each property automatically /// </summary> /// <param name="property"></param> /// <returns></returns> protected override AbstractPropertyConfiguration AutoMapProperty(System.Reflection.PropertyInfo property) { string name = property.Name; SitecoreInfoType infoType; if (name.Contains(".")) //explicit interface implementation { name = name.Split('.', StringSplitOptions.RemoveEmptyEntries).Last(); } if (name.ToLowerInvariant() == "id") { var idConfig = new SitecoreIdConfiguration(); idConfig.PropertyInfo = property; return(idConfig); } if (name.ToLowerInvariant() == "parent") { var parentConfig = new SitecoreParentConfiguration(); parentConfig.PropertyInfo = property; return(parentConfig); } if (name.ToLowerInvariant() == "children") { var childrenConfig = new SitecoreChildrenConfiguration(); childrenConfig.PropertyInfo = property; return(childrenConfig); } if (name.ToLowerInvariant() == "item" && property.PropertyType == typeof(Item)) { var itemConfig = new SitecoreItemConfiguration(); itemConfig.PropertyInfo = property; return(itemConfig); } if (Enum.TryParse(name, true, out infoType)) { SitecoreInfoConfiguration infoConfig = new SitecoreInfoConfiguration(); infoConfig.PropertyInfo = property; infoConfig.Type = infoType; return(infoConfig); } SitecoreFieldConfiguration fieldConfig = new SitecoreFieldConfiguration(); fieldConfig.FieldName = name; fieldConfig.PropertyInfo = property; return(fieldConfig); }
/// <summary> /// Called to map each property automatically /// </summary> /// <param name="property"></param> /// <returns></returns> protected override AbstractPropertyConfiguration AutoMapProperty(System.Reflection.PropertyInfo property) { string name = property.Name; SitecoreInfoType infoType; if (name.ToLowerInvariant() == "id") { var idConfig = new SitecoreIdConfiguration(); idConfig.PropertyInfo = property; return(idConfig); } if (name.ToLowerInvariant() == "parent") { var parentConfig = new SitecoreParentConfiguration(); parentConfig.PropertyInfo = property; return(parentConfig); } if (name.ToLowerInvariant() == "children") { var childrenConfig = new SitecoreChildrenConfiguration(); childrenConfig.PropertyInfo = property; return(childrenConfig); } if (name.ToLowerInvariant() == "item" && property.PropertyType == typeof(Item)) { var itemConfig = new SitecoreItemConfiguration(); itemConfig.PropertyInfo = property; return(itemConfig); } if (Enum.TryParse(name, true, out infoType)) { SitecoreInfoConfiguration infoConfig = new SitecoreInfoConfiguration(); infoConfig.PropertyInfo = property; infoConfig.Type = infoType; return(infoConfig); } SitecoreFieldConfiguration fieldConfig = new SitecoreFieldConfiguration(); fieldConfig.FieldName = name; fieldConfig.PropertyInfo = property; return(fieldConfig); }
/// <summary> /// Called to map each property automatically /// </summary> /// <param name="property"></param> /// <returns></returns> protected override AbstractPropertyConfiguration AutoMapProperty(System.Reflection.PropertyInfo property) { string name = property.Name; SitecoreInfoType infoType; if (name.ToLowerInvariant() == "id") { var idConfig = new SitecoreIdConfiguration(); idConfig.PropertyInfo = property; return idConfig; } if (name.ToLowerInvariant() == "parent") { var parentConfig = new SitecoreParentConfiguration(); parentConfig.PropertyInfo = property; return parentConfig; } if (name.ToLowerInvariant() == "children") { var childrenConfig = new SitecoreChildrenConfiguration(); childrenConfig.PropertyInfo = property; return childrenConfig; } if (name.ToLowerInvariant() == "item" && property.PropertyType == typeof(Item)) { var itemConfig = new SitecoreItemConfiguration(); itemConfig.PropertyInfo = property; return itemConfig; } if (Enum.TryParse(name, true, out infoType)) { SitecoreInfoConfiguration infoConfig = new SitecoreInfoConfiguration(); infoConfig.PropertyInfo = property; infoConfig.Type = infoType; return infoConfig; } SitecoreFieldConfiguration fieldConfig = new SitecoreFieldConfiguration(); fieldConfig.FieldName = name; fieldConfig.PropertyInfo = property; return fieldConfig; }