/// <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]
                    );
                }
            );
        }
Exemple #2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="configuration"></param>
        public void RegisterConfiguration(IModelMetadataConfiguration configuration)
        {
            Invariant.IsNotNull(configuration, "configuration");

            configurations.Add(configuration.ModelType, configuration);
        }