public List <Disco> ObterComPaginacao(RequestCatalogoGenero requestCatalagoGenero) { var where = requestCatalagoGenero.GeneroId <= 0 ? new Func <Disco, bool>(d => d.Genero.GeneroId != 0) : new Func <Disco, bool>(d => d.Genero.GeneroId == requestCatalagoGenero.GeneroId); var total = _contextEf.Disco .Include(d => d.Genero) .Include(d => d.Artista) .Count(where); if (total == 0) { return(Disco.ListEmpty()); } requestCatalagoGenero.WithPagination(total); return(_contextEf.Disco .Where(where) .OrderBy(d => d.Nome) .Skip(requestCatalagoGenero.Paginacao.Skip) .Take(requestCatalagoGenero.Paginacao.Take) .ToList()); }
public Response ObterComPaginacao(RequestCatalogoGenero requestCatalagoGenero) { try { var listDiscos = DiscoDto.ListEmpty(); var discos = _discoRepository.ObterComPaginacao(requestCatalagoGenero); if (!discos.Any()) { return(Response.BuildBadRequest(ExceptionMessages.DiscoNaoEncontrada)); } foreach (var disco in discos) { listDiscos.Add(_mapper.Map <DiscoDto>(disco)); } return(Response.BuildSuccess(listDiscos)); } catch (Exception ex) { return(Response.BuildInternalServerError(ex.Message)); } }
public IActionResult ObterComPaginacao([FromBody] RequestCatalogoGenero requestCatalagoGenero) { return(Ok(_catalogoAppService.ObterComPaginacao(requestCatalagoGenero))); }