public IActionResult Get(string pesquisa, int numeroPagina, int numeroItensPorPagina) { try { IQueryable <Livro> lista = _serviceLivro.Get(); if (!String.IsNullOrEmpty(pesquisa)) { lista = lista.Where(x => x.Titulo.ToUpper().Contains(pesquisa.ToUpper())); } LivroPaginacao livroPaginacao = new LivroPaginacao(); livroPaginacao.NumeroPagina = numeroPagina; livroPaginacao.NumeroItensPorPagina = numeroItensPorPagina; livroPaginacao.Total = (int)Math.Ceiling((lista.Count() / (double)numeroItensPorPagina)); lista = lista.Skip((numeroPagina - 1) * numeroItensPorPagina).Take(numeroItensPorPagina); livroPaginacao.Livros = lista.OrderBy(x => x.Titulo).ToList(); return(new ObjectResult(livroPaginacao)); } catch (Exception ex) { return(BadRequest(ex)); } }
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 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 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 <IActionResult> ListaLivrosPagina(string pesquisa, int numeroPagina, int numeroItensPorPagina) { LivroPaginacao livroPaginacao = await _api.GetLivroPaginaAsync(pesquisa, numeroPagina, numeroItensPorPagina); return(Json(livroPaginacao)); }
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)); }