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));
        }
Example #2
0
 public Response GetWithPagination(RequestSearchCatalog request)
 {
     try
     {
         var data = _discoRepository.GetWithPagination(request);
         return(Response.BuildSuccess(data));
     }
     catch (Exception ex)
     {
         return(Response.BuildInternalServerError());
     }
 }
Example #3
0
        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());
        }