/// <summary> /// Populates the options. /// </summary> /// <param name="model">The model.</param> /// <returns>A Enumerable of ModelOptions.</returns> private static IEnumerable <ModelOption> PopulateOptions(object model) { var propertyInfos = model.GetType().GetProperties(); foreach (var info in propertyInfos.Where(t => t.GetMethod.GetParameters().Length == 0)) { var flag = new ModelOption(info.Name, info, model) { DisplayName = info.GetCustomAttribute <DisplayNameAttribute>()?.DisplayName ?? CreateFriendlyName(info.Name), Description = info.GetCustomAttribute <DescriptionAttribute>()?.Description }; yield return(flag); } }
/// <summary> /// Adds option to the model map. /// </summary> /// <param name="option">The option.</param> /// <returns>The ModelMap.</returns> public ModelMap AddOption(ModelOption option) { this.Options.Add(option.Name, option); return(this); }