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] LivroOrder order, [FromQuery] Paginacao paginacao)
        {
            var lista = _repo.All
                        .AplicaFiltro(filtro)
                        .AplicaOrder(order)
                        .Select(l => l.ToApi())
                        .ToListPaginate(paginacao);

            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 #4
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 #6
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 #7
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 #9
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 #10
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));
        }
Exemple #11
0
 public async Task <ActionResult <IEnumerable <RelatorioDeLivroDto> > > GetComLinqMethodSyntax([FromQuery] LivroFiltro filtro)
 {
     return(await _context.Livros
            .Join(_context.Editoras,
                  itemJoin => itemJoin.EditoraId,
                  pedJoin => pedJoin.Id,
                  (itemJoin, pedJoin) => new { liv = itemJoin, edi = pedJoin })
            .Where(t => (!filtro.EditoraId.HasValue || t.liv.EditoraId == filtro.EditoraId) &&
                   (string.IsNullOrEmpty(filtro.Titulo) || t.liv.Titulo.Contains(filtro.Titulo)))
            .Select(t => new RelatorioDeLivroDto
     {
         LivroId = t.liv.Id,
         AnoPublicacao = t.liv.AnoPublicacao,
         TituloDoLivro = t.liv.Titulo,
         NomeDaEditora = t.edi.Nome
     })
            .ToListAsync());
 }
Exemple #12
0
 public async Task <ActionResult <IEnumerable <RelatorioDeLivroDto> > > GetComLinqQuerySyntax([FromQuery] LivroFiltro filtro)
 {
     return(await(from liv in _context.Livros
                  join edi in _context.Editoras
                  on liv.EditoraId equals edi.Id
                  where (!filtro.EditoraId.HasValue || liv.EditoraId == filtro.EditoraId) &&
                  (string.IsNullOrEmpty(filtro.Titulo) || liv.Titulo.Contains(filtro.Titulo))
                  select new RelatorioDeLivroDto
     {
         LivroId = liv.Id,
         AnoPublicacao = liv.AnoPublicacao,
         TituloDoLivro = liv.Titulo,
         NomeDaEditora = edi.Nome
     }).ToListAsync());
 }
Exemple #13
0
 public async Task <ActionResult <IEnumerable <RelatorioDeLivroDto> > > GetComInclude([FromQuery] LivroFiltro filtro)
 {
     return(await _context.Livros
            .Include(t => t.Editora)
            .Where(t => (!filtro.EditoraId.HasValue || t.EditoraId == filtro.EditoraId) &&
                   (string.IsNullOrEmpty(filtro.Titulo) || t.Titulo.Contains(filtro.Titulo)))
            .Select(t => new RelatorioDeLivroDto
     {
         LivroId = t.Id,
         AnoPublicacao = t.AnoPublicacao,
         TituloDoLivro = t.Titulo,
         NomeDaEditora = t.Editora.Nome
     })
            .ToListAsync());
 }