Exemple #1
0
        public IActionResult ListaDeLivros([FromQuery] LivroFiltro filtro, [FromQuery] LivroOrdem ordem)
        {
            var lista = _repo.All
                        .AplicaFiltro(filtro)
                        .AplicaOrdem(ordem)
                        .Select(l => l.ToApi())
                        .ToList();

            return(Ok(lista));
        }
        public IActionResult ListaDeLivros([FromQuery] LivroFiltro filtro,
                                           [FromQuery] LivroOrdem ordem,
                                           [FromQuery] LivroPaginacao paginacao)
        {
            var lLivroPaginado = _repo.All
                                 .AplicaFiltro(filtro)
                                 .AplicaOrdem(ordem)
                                 .Select(l => l.ToApi())
                                 .ToLivroPaginado(paginacao);

            return(Ok(lLivroPaginado));
        }
Exemple #3
0
        public IActionResult ListaDeLivros(
            [FromQuery] LivroFiltro filtro,
            [FromQuery] LivroOrdem ordem,
            [FromQuery] LivroPaginacao paginacao)
        {
            var livroPaginado = _repo.All
                                .AplicaFiltro(filtro)
                                .AplicaOrdem(ordem)          // http://localhost:6000/api/v2.0/Livros?lista=ParaLer&OrdenarPor=id asc
                                .Select(x => x.ToApi())
                                .ToLivroPaginado(paginacao); // http://localhost:6000/api/v2.0/Livros?tamanho=3&paginacao=1

            return(Ok(livroPaginado));
        }
        public IActionResult ListaDeLivros(
            [FromQuery][SwaggerParameter(Description = "Filtro indicado por autor, titulo, subtitulo e/ou nome da lista", Required = false)] LivroFiltro filtro,
            [FromQuery][SwaggerParameter(Description = "Parâmetro passado para ordenar a lista: autor, titulo, subtitulo e/ou lista", Required = false)] LivroOrdem ordem,
            [FromQuery][SwaggerParameter(Description = "Número de itens por página e qual a página", Required = false)] LivroPaginacao paginacao)
        {
            var livros = _repo.All
                         .AplicaFiltro(filtro)
                         .AplicaOrdem(ordem)
                         .Select(l => l.ToApi())
                         .ToLivroPaginado(paginacao);

            return(Ok(livros));
        }
Exemple #5
0
        public IActionResult Get([FromQuery] LivroFiltro filtro, [FromQuery] LivroOrdem ordem, [FromQuery] LivroPaginacao paginacao)
        {
            Paginacao livroPaginado = _repository
                                      .All
                                      .Filtrar(filtro)
                                      .Ordenar(ordem)
                                      .Select(l => l.ToApi())
                                      .Paginar(paginacao);

            if (livroPaginado is null)
            {
                return(NotFound());
            }

            return(Ok(livroPaginado));
        }
Exemple #6
0
        public IActionResult ListaDeLivros(
            [FromQuery] LivroFiltro filtro,
            [FromQuery] LivroOrdem ordem,
            [FromQuery] LivroPaginacao paginacao)
        {
            var livrosPaginados = _repo.All
                                  .AplicaFiltro(filtro)
                                  .AplicaOrdem(ordem)
                                  .Select(livro => livro.ToApi())
                                  .ToPaginacao(paginacao);

            if (livrosPaginados == null)
            {
                return(NotFound());
            }
            return(Ok(livrosPaginados));
        }
        public IActionResult ListaDeLivros(
            [FromQuery] LivroFiltro filtro,
            [FromQuery] LivroOrdem ordem,
            [FromQuery] LivroPaginacao paginacao)
        {
            var lista = _repo.All
                        .AplicaFiltro(filtro)
                        .AplicaOrdenacao(ordem)
                        .Select(l => l.ToApi());

            var listaPaginada = LivroPaginado.From(paginacao, lista);

            if (listaPaginada.Resultado.Count == 0)
            {
                return(NotFound());
            }
            return(Ok(listaPaginada));
        }
Exemple #8
0
        public IActionResult Listar(
            [FromQuery][SwaggerParameter("Filtro de pesquisa para livros.")] LivroFiltro filtro,   // ex: livros?titulo=Teste&lista=lendo
            [FromQuery][SwaggerParameter("Ordenação por parametro definido.")] LivroOrdem ordem,   // ex: livros?ordenarpor=titulo
            [FromQuery][SwaggerParameter("Dados da paginação.")] Paginacao paginacao)              // ex: livros?pagina=3&tamanho=5
        {
            var livroPaginado = _repo.All
                                .AplicaOrdem(ordem)
                                .AplicaFiltro(filtro)
                                .Select(l => l.ToApi())
                                .ToLivrosPaginado(paginacao);

            if (livroPaginado == null)
            {
                return(NotFound());
            }

            return(Ok(livroPaginado));
        }
Exemple #9
0
        public IActionResult RecuperarTodos(
            [FromQuery] LivroFiltro filtro,
            [FromQuery] LivroOrdem ordem,
            [FromQuery] LivroPaginacao paginacao)
        {
            var livroPaginado = _repo
                                .All
                                .AplicarFiltro(filtro)
                                .AplicarOrdem(ordem)
                                .Select(x => x.ToApi())
                                .ToLivroPaginado(paginacao);

            if (livroPaginado == null)
            {
                return(NotFound());
            }

            return(Ok(livroPaginado));
        }