public static List <SelectListItem> EnumToSelectListItems <T>(Nullable <T> selectedItem = null)
     where T : struct
 {
     if (!typeof(T).IsEnum)
     {
         throw new ArgumentException(ErrorMessages.NotEnumType);
     }
     return(ConverterHelpers.EnumToList <T>().Select <T, SelectListItem>((T enumItem) => {
         string text = enumItem.ToString();
         SelectListItem selectListItem = new SelectListItem();
         selectListItem.set_Text(enumItem.GetEnumLocalizedValue <T>() ?? text);
         selectListItem.set_Value(text);
         selectListItem.set_Selected((!selectedItem.HasValue ? false : enumItem.Equals(selectedItem.Value)));
         return selectListItem;
     }).ToList <SelectListItem>());
 }
 public static List <SelectListItem> EnumToKoSelectListItems <T>(T selectedValue)
     where T : struct
 {
     if (!typeof(T).IsEnum)
     {
         throw new ArgumentException(ErrorMessages.NotEnumType);
     }
     return(ConverterHelpers.EnumToList <T>().Select <T, SelectListItem>((T enumItem) => {
         string text = enumItem.ToString();
         string value = ((int)(object)enumItem).ToString();
         SelectListItem selectListItem = new SelectListItem();
         selectListItem.set_Text(enumItem.GetEnumLocalizedValue <T>() ?? text);
         selectListItem.set_Value(value);
         return selectListItem;
     }).ToList <SelectListItem>());
 }
 public static List <CheckBoxVm> EnumToCheckBoxList <T>(List <T> selectedEnums)
     where T : struct
 {
     if (!typeof(T).IsEnum)
     {
         throw new ArgumentException(ErrorMessages.NotEnumType);
     }
     return((
                from  in ConverterHelpers.EnumToList <T>()
                select new CheckBoxVm()
     {
         IsChecked = (selectedEnums == null ? false : selectedEnums.Contains(m)),
         Text = m.GetEnumLocalizedValue <T>(),
         Value = Convert.ToInt64(m).ToString()
     }).ToList <CheckBoxVm>());
 }
 public static List <SelectListItem> EnumToKoSelectListItems <T>()
     where T : struct
 {
     if (!typeof(T).IsEnum)
     {
         throw new ArgumentException(ErrorMessages.NotEnumType);
     }
     return(ConverterHelpers.EnumToList <T>().Select <T, SelectListItem>((T enumItem) => {
         string enumItemString = enumItem.ToString();
         string enumValue = ((int)(object)enumItem).ToString();
         return new SelectListItem()
         {
             Text = enumItem.GetEnumLocalizedValue <T>() ?? enumItemString,
             Value = enumValue
         };
     }).ToList <SelectListItem>());
 }
 public static List <CheckBoxVm> EnumToCheckBoxList <T>()
     where T : struct
 {
     return(ConverterHelpers.EnumToCheckBoxList <T>(new List <T>()));
 }