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));
            }
        }
Exemplo n.º 3
0
 public IActionResult ObterComPaginacao([FromBody] RequestCatalogoGenero requestCatalagoGenero)
 {
     return(Ok(_catalogoAppService.ObterComPaginacao(requestCatalagoGenero)));
 }