예제 #1
0
        public IActionResult TraerPagina([FromQuery] string loquebusco, int pagina, int cuantospp = 10)
        {
            Expression <Func <Proyecto, bool> > elWhere;

            if (string.IsNullOrEmpty(loquebusco))
            {
                elWhere = n => n.EstadoId == EstadoEnum.Activo;
            }
            else
            {
                elWhere = n => n.EstadoId == EstadoEnum.Activo && (n.Nombre.ToLower().Contains(loquebusco.ToLower()) ||
                                                                   n.Código.ToLower().Contains(loquebusco.ToLower()));
            }

            var losIncludes = new List <string> {
                "Cliente"
            };

            var LaRespuesta = _proyectoRepository.TraerVariosAsync(elWhere, o => o.Nombre, losIncludes, pagina, cuantospp);

            var resultado = LaRespuesta.Result;

            if (resultado == null)
            {
                return(NotFound());
            }

            return(Ok(_mapper.Map <PaginatedList <ProyectoDto> >(resultado)));
        }