public KoobooModelMetadata(DataAnnotationsModelMetadataProvider provider, Type containerType, Func<object> modelAccessor, Type modelType, string propertyName, DisplayColumnAttribute displayColumnAttribute, IEnumerable<Attribute> attributes) : base(provider, containerType, modelAccessor, modelType, propertyName, displayColumnAttribute) { var descAttr = attributes.OfType<DescriptionAttribute>().SingleOrDefault(); _description = descAttr != null ? descAttr.Description : ""; DataSourceAttribute = attributes.OfType<DataSourceAttribute>().SingleOrDefault(); var enumAttribute = attributes.OfType<EnumDataTypeAttribute>().SingleOrDefault(); if (enumAttribute != null) { DataSource = new EnumTypeSelectListDataSource(enumAttribute.EnumType); } Attributes = attributes; var defaultValueAttr = attributes.OfType<DefaultValueAttribute>().SingleOrDefault(); DefaultValue = defaultValueAttr != null ? defaultValueAttr.Value : this.ModelType.GetDefaultValue(); this.AdditionalValues["DefaultValue"] = DefaultValue; }
public KoobooModelMetadata(DataAnnotationsModelMetadataProvider provider, Type containerType, Func <object> modelAccessor, Type modelType, string propertyName, DisplayColumnAttribute displayColumnAttribute, IEnumerable <Attribute> attributes) : base(provider, containerType, modelAccessor, modelType, propertyName, displayColumnAttribute) { var descAttr = attributes.OfType <DescriptionAttribute>().SingleOrDefault(); _description = descAttr != null ? descAttr.Description : ""; DataSourceAttribute = attributes.OfType <DataSourceAttribute>().SingleOrDefault(); var enumAttribute = attributes.OfType <EnumDataTypeAttribute>().SingleOrDefault(); if (enumAttribute != null) { DataSource = new EnumTypeSelectListDataSource(enumAttribute.EnumType); } Attributes = attributes; var defaultValueAttr = attributes.OfType <DefaultValueAttribute>().SingleOrDefault(); DefaultValue = defaultValueAttr != null ? defaultValueAttr.Value : this.ModelType.GetDefaultValue(); this.AdditionalValues["DefaultValue"] = DefaultValue; }