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)); }