public IEnumerable <ListarLivrosRetorno> ListarLivros(Requisicao <ListarLivrosRequisicao> requisicao)
        {
            requisicao.ValidarParametros();
            ValidarParametrosListarLivros(requisicao.Filtros);

            var livrosEntidade = _livroRepositorio.ListarLivros(requisicao);

            var comentariosEntidade = _comentarioRepositorio.ListarComentarios(new Requisicao <ListarComentariosRequisicao>()
            {
                Filtros = new ListarComentariosRequisicao()
                {
                    LivroId           = requisicao?.Filtros?.Id,
                    TextoAutocomplete = requisicao?.Filtros?.TextoAutocomplete
                }
            });

            var itens = new List <ListarLivrosRetorno>();

            foreach (var livro in livrosEntidade)
            {
                itens.Add(new ListarLivrosRetorno()
                {
                    Livro       = livro,
                    Comentarios = comentariosEntidade.Where(c => c.LivroId == livro.Id)
                });
            }

            return(itens);
        }