public ModelMetadataProvider(IModelMetadataRegistry registry) : base(registry) { if (registry == null) throw new ArgumentNullException("registry"); _Registry = registry; }
public FluentConfigurationDisplayConvensionTests() { registry = new ModelMetadataRegistry(); provider = new ExtendedModelMetadataProvider(registry); metadataConfiguration = new DummyDisplayModelConfiguration(); registry.RegisterConfiguration(metadataConfiguration); LocalizationConventions.Enabled = true; LocalizationConventions.RequireConventionAttribute = false; }
public static IDictionary<string, ModelMetadataItem> RegisterExtendedModelMetadata( Type modelType, ExtendedModelMetadataProvider metadataProvider, IModelMetadataRegistry extMetadataRegistry) { var modelMetadata = ModelMetadataProviders.Current.GetMetadataForType( () => Activator.CreateInstance(modelType), modelType); var extModelMetadataItem = CreateModelMetadataItem(modelMetadata, modelType.GetCustomAttributes()); var extModelMetadataProperties = new Dictionary<string, ModelMetadataItem>(); var modelTypeProperties = modelType.GetProperties(); foreach (var property in modelMetadata.Properties) { var modelProperty = modelTypeProperties.Single(p => p.Name == property.PropertyName); extModelMetadataProperties.Add(property.PropertyName, CreateModelMetadataItem(property, modelProperty.GetCustomAttributes())); } extMetadataRegistry.RegisterModel(modelType, extModelMetadataItem); extMetadataRegistry.RegisterModelProperties(modelType, extModelMetadataProperties); return extMetadataRegistry.GetModelPropertiesMetadata(modelType); }
/// <summary> /// Executes the task. Returns continuation of the next task(s) in the chain. /// </summary> /// <returns></returns> public override TaskContinuation Execute() { IEnumerable <Type> concreteTypes = Container.GetService <IBuildManager>().ConcreteTypes; concreteTypes.Where(type => KnownTypes.ModelMetadataConfigurationType.IsAssignableFrom(type)) .Each(type => Container.RegisterAsTransient(KnownTypes.ModelMetadataConfigurationType, type)); IEnumerable <IModelMetadataConfiguration> configurations = Container.GetServices <IModelMetadataConfiguration>(); IModelMetadataRegistry registry = Container.GetService <IModelMetadataRegistry>(); configurations.Each(configuration => registry.RegisterModelProperties(configuration.ModelType, configuration.Configurations)); IList <ModelValidatorProvider> validatorProviders = new List <ModelValidatorProvider>(ModelValidatorProviders.Providers); validatorProviders.Insert(0, new ExtendedModelValidatorProvider()); CompositeModelValidatorProvider compositeModelValidatorProvider = new CompositeModelValidatorProvider(validatorProviders.ToArray()); ModelMetadataProviders.Current = new ExtendedModelMetadataProvider(registry); ModelValidatorProviders.Providers.Clear(); ModelValidatorProviders.Providers.Add(compositeModelValidatorProvider); return(TaskContinuation.Continue); }
/// <summary> /// Initializes a new instance of the <see cref="ExtendedModelMetadataProvider"/> class. /// </summary> /// <param name="registry">The registry.</param> public ExtendedModelMetadataProvider([NotNull] IModelMetadataRegistry registry) { Invariant.IsNotNull(registry, "registry"); this.registry = registry; }
/// <summary> /// Initializes a new instance of the <see cref="ExtendedModelMetadataProvider"/> class. /// </summary> /// <param name="registry">The registry.</param> public ExtendedModelMetadataProvider(IModelMetadataRegistry registry) { Invariant.IsNotNull(registry, "registry"); this.registry = registry; }
/// <summary> /// Creates <see cref="ModelMetadataRegistrar"/> instance /// </summary> /// <param name="registry">Holds all configations data</param> public ModelMetadataRegistrar(IModelMetadataRegistry registry) { Registry = registry; }
/// <summary> /// Allows to set custom <see cref="IModelMetadataRegistry"/> implementation /// </summary> public static void SetModelMetadataRegistry(IModelMetadataRegistry registry) { Registrar.Registry = registry; }
public MvcExtensionsCoreMetadataProvider(IModelMetadataRegistry registry) { this.registry = registry; }
private static void SetupModelExtendedValidators( Type modelType, IModelMetadataRegistry extMetadataRegistry) { Throw.IfNullArgument(modelType, "model"); var extendedMetadata = extMetadataRegistry.GetModelPropertiesMetadata(modelType); if (extendedMetadata == null) { _log.DebugFormat("Init fluent configuration for {0}", modelType.Name); var metadataProvider = ModelMetadataProviders.Current as ExtendedModelMetadataProvider; _convertedModelsCount++; extendedMetadata = FluentMetadataHelper.RegisterExtendedModelMetadata(modelType, metadataProvider, extMetadataRegistry); } _log.DebugFormat("Localize model {0}", modelType.Name); var localizer = new ValidationLocalizer(modelType, extendedMetadata); localizer.ProcessModel(); }