private static void ObterTextoPadrao(List <SelectListItem> lstRetorno, TextoDefaultDropDow texto) { switch (texto) { case TextoDefaultDropDow.Selecione: lstRetorno.Add(SelecionePadrao); break; case TextoDefaultDropDow.Todos: lstRetorno.Add(TodosPadrao); break; } }
public static List <SelectListItem> CriarSelectList <T>( List <T> lista, bool?isFiltrarAtivo = null, bool itemTextoPadrao = true, string selecionado = null, string selecionadoTexto = null, TextoDefaultDropDow textoPadrao = TextoDefaultDropDow.Selecione) //where T : IListaValor, IListaValorString { List <SelectListItem> lstRetorno = new List <SelectListItem>(); if (itemTextoPadrao) { ObterTextoPadrao(lstRetorno, textoPadrao); } if (typeof(T).GetInterface(typeof(IListaValor).Name) != null) { foreach (IListaValor item in lista) { if ((isFiltrarAtivo == null || item.IsAtivo == isFiltrarAtivo) || (item.Id.ToString() == selecionado)) { lstRetorno.Add(new SelectListItem() { Value = item.Id.ToString(), Text = item.Texto, Selected = (item.Id.ToString() == selecionado) || (item.Texto.ToString() == selecionadoTexto) }); } } } else { foreach (IListaValorString item in lista) { if ((isFiltrarAtivo == null || item.IsAtivo == isFiltrarAtivo) || (item.Id.ToString() == selecionado)) { lstRetorno.Add(new SelectListItem() { Value = item.Id, Text = item.Texto, Selected = (item.Id.ToString() == selecionado) || (item.Texto.ToString() == selecionadoTexto) }); } } } return(lstRetorno); }