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)); }
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)); }
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)); }
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)); }
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)); }
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)); }
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()); }
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()); }
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()); }