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;
            }
        }
Beispiel #2
0
        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);
        }