public async Task <HttpResponseMessage> Listar(FiltroConsultaRequest filtro) { try { var response = _servicoLivro.ListarLivro(filtro); return(await ResponseAsync(response, _servicoLivro)); } catch (Exception ex) { return(await ResponseExceptionAsync(ex)); } }
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)); }