public ActionResult <Response> GetAll([FromQuery] int genero, [FromQuery] int pagina, [FromQuery] int quantidadePorPagina) { var request = RequestSearchCatalog.Build(genero, quantidadePorPagina, pagina); var response = _catalogoAppService.GetWithPagination(request); return(Ok(response)); }
public Response GetWithPagination(RequestSearchCatalog request) { try { var data = _discoRepository.GetWithPagination(request); return(Response.BuildSuccess(data)); } catch (Exception ex) { return(Response.BuildInternalServerError()); } }
public List <Disco> GetWithPagination(RequestSearchCatalog request) { var where = request.FilterGenero <= 0 ? new Func <Disco, bool>(d => d.GeneroId != 0) : new Func <Disco, bool>(d => d.GeneroId == (GeneroEnum)request.FilterGenero); var total = _context.Disco.Count(where); if (total == 0) { return(Disco.ListEmpty()); } request.WithPagination(total); return(_context.Disco .Where(where) .OrderBy(d => d.Nome) .Skip(request.Paginacao.Skip) .Take(request.Paginacao.Take) .ToList()); }