예제 #1
0
        public IEnumerable <LivroResponse> ListarLivro(FiltroConsultaRequest filtro = null)
        {
            var consulta = _repositorioLivro.Listar();

            if (filtro != null)
            {
                consulta = string.IsNullOrEmpty(filtro.Titulo) ? consulta : consulta.Where(x => x.Titulo.Contains(filtro.Titulo));
                consulta = filtro.IdAutor != null?consulta.Where(x => x.IdAutor == filtro.IdAutor) : consulta;

                consulta = filtro.IdGenero != null?consulta.Where(x => x.IdGenero == filtro.IdGenero) : consulta;

                consulta = filtro.PrecoDe != null?consulta.Where(x => x.Preco >= filtro.PrecoDe) : consulta;

                consulta = filtro.PrecoAte != null?consulta.Where(x => x.Preco <= filtro.PrecoAte) : consulta;
            }

            return(consulta.OrderBy(x => x.Titulo).ToList().Select(livro => (LivroResponse)livro));
        }