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));
            }
        }
Beispiel #2
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));
        }