private PropertyDisplayMetadata GetPropertyMetadataCore(PropertyCulturePair pair) { var metadata = basePropertyDisplayMetadataProvider.GetPropertyMetadata(pair.PropertyInfo); if (string.IsNullOrEmpty(metadata.DisplayName)) { metadata.DisplayName = propertyDisplayNames.GetString(pair.PropertyInfo.DeclaringType.Name + "_" + pair.PropertyInfo.Name) ?? propertyDisplayNames.GetString(pair.PropertyInfo.Name); } return(metadata); }
private PropertyDisplayMetadata GetPropertyMetadataCore(PropertyCulturePair pair) { var displayAttribute = pair.PropertyInfo.GetCustomAttribute <DisplayAttribute>(); var displayFormatAttribute = pair.PropertyInfo.GetCustomAttribute <DisplayFormatAttribute>(); var dataTypeAttribute = pair.PropertyInfo.GetCustomAttribute <DataTypeAttribute>(); var styleAttribute = pair.PropertyInfo.GetCustomAttribute <StyleAttribute>(); var visibilityFilters = pair.PropertyInfo.GetCustomAttributes().OfType <IVisibilityFilter>().ToArray(); var editableFilter = pair.PropertyInfo.GetCustomAttribute <EditableAttribute>(); return(new PropertyDisplayMetadata() { PropertyInfo = pair.PropertyInfo, DisplayName = displayAttribute?.GetName(), Order = displayAttribute?.GetOrder(), GroupName = displayAttribute?.GetGroupName(), FormatString = displayFormatAttribute?.DataFormatString, NullDisplayText = displayFormatAttribute?.NullDisplayText, AutoGenerateField = displayAttribute?.GetAutoGenerateField() ?? true, DataType = dataTypeAttribute?.DataType, VisibilityFilters = visibilityFilters, Styles = styleAttribute, IsEditAllowed = editableFilter?.AllowEdit != false }); }