using System; using System.Collections.Generic; using Microsoft.AspNet.Mvc.Rendering; namespace Yavsc.Server.Helpers { public static class PageHelpers { public static List CreateSelectListItems (this Type enumType, object selectedValue =null) { string selectedName = (selectedValue != null) ? enumType.GetEnumName(selectedValue) : null; var items = new List (); var names = enumType.GetEnumNames(); var values = enumType.GetEnumValues(); for (int index = 0; index < names.Length; index++) { var itemName = names[index]; items.Add(new SelectListItem() { Value = values.GetValue(index).ToString(), Text = itemName, Selected = ( itemName == selectedName) }) ; } var list = new SelectList(items); return items; } public static List CreateSelectListItems (this IEnumerabledata, Func dataField, Func displayField = null, object selectedValue =null) where T : class { if (displayField == null) displayField = dataField; var items = new List (); foreach (var dataItem in data) { var itemVal = dataField(dataItem); var itemName = displayField(dataItem); items.Add(new SelectListItem() { Value = itemVal, Text = itemName, Selected = ( selectedValue?.Equals(itemVal) ?? false ) }) ; } return items; } } }