Beispiel #1
0
        /// <summary>
        /// Returns model metadata additional setting of type <typeparamref name="TSetting"/> associated with this <paramref name="item"/>.
        /// New model setting will be created if no one is found.
        /// </summary>
        /// <param name="item"></param>
        /// <typeparam name="TSetting"></typeparam>
        /// <returns>Model validation metadata of type <typeparamref name="TSetting"/></returns>
        public static TSetting GetAdditionalSettingOrCreateNew <TSetting>(this ModelMetadataItem item)
            where TSetting : class, IModelMetadataAdditionalSetting, new()
        {
            TSetting setting = item.GetAdditionalSetting <TSetting>();

            if (setting == null)
            {
                setting = new TSetting();
                item.AdditionalSettings.Add(setting);
            }

            return(setting);
        }