/// <summary> /// Merges the specified <see cref="MvcExtensions.ModelMetadataConfiguration{TModel}"/> with existing metadata /// that may have been specified via attributes or via model metadata configurartion classes. /// </summary> /// <param name="metaDataConfig">The meta data configuration to be merged.</param> public void Merge(IModelMetadataConfiguration metaDataConfig) { var configurations = metaDataConfig.Configurations; configurations .ToList() .ForEach(c => { var currentMetadata = _Registry.GetModelPropertiesMetadata(metaDataConfig.ModelType); if (currentMetadata == null) { _Registry.RegisterModelProperties(metaDataConfig.ModelType, configurations); return; } c.Value.MergeTo( currentMetadata[c.Key] ); } ); }
/// <summary> /// /// </summary> /// <param name="configuration"></param> public void RegisterConfiguration(IModelMetadataConfiguration configuration) { Invariant.IsNotNull(configuration, "configuration"); configurations.Add(configuration.ModelType, configuration); }