public ActionResult DestinatarioLst(DestinatariosPesquisaVM modelo)
        {
            int contratanteId = (int)Geral.PegaAuthTicket("ContratanteId");

            int pagina = modelo.Pagina ?? 1;

            Expression <Func <DESTINATARIO, bool> > filtro        = Predicativos.FiltrarDestinatarioGrid(modelo, contratanteId);
            RetornoPesquisa <DESTINATARIO>          listaPesquisa = new RetornoPesquisa <DESTINATARIO>();
            Func <DESTINATARIO, IComparable>        ordenacao     = (DESTINATARIO a) => a.NOME;

            listaPesquisa           = _bpDestinatario.BuscarPesquisa(filtro, TamanhoPagina, pagina, ordenacao);
            modelo.DestinatarioGrid = DestinatariosVM.ModelToViewModel(listaPesquisa.RegistrosPagina, Url);
            ViewBag.TotalPaginas    = listaPesquisa.TotalPaginas;
            ViewBag.TotalRegistros  = listaPesquisa.TotalRegistros;
            ViewBag.Pagina          = pagina;

            return(View(modelo));
        }
Beispiel #2
0
        public static Expression <Func <DESTINATARIO, bool> > FiltrarDestinatarioGrid(DestinatariosPesquisaVM modelo, int contratanteId)
        {
            var filtro = PredicateBuilder.New <DESTINATARIO>();

            filtro = AtivosEPorContratante(contratanteId, filtro);
            if (!string.IsNullOrWhiteSpace(modelo.Nome))
            {
                filtro = filtro.And(d => d.NOME != null && d.NOME.ToUpper().Contains(modelo.Nome.ToUpper()));
            }
            if (!string.IsNullOrWhiteSpace(modelo.Email))
            {
                filtro = filtro.And(d => d.EMAIL.ToUpper().Contains(modelo.Email.ToUpper()));
            }
            if (modelo.Empresa != null)
            {
                filtro = filtro.And(d => d.EMPRESA != null && d.EMPRESA.ToUpper().Contains(modelo.Empresa.ToUpper()));
            }
            return(filtro);
        }