Example #1
0
        public IActionResult Get(UsuarioEnderecoParameters parametros)
        {
            // Checa se o usuário existe (retorna 404 - NOT FOUND se não existir)
            if (!_repository.UsuarioExists(parametros.UsuarioId))
            {
                return(NotFound());
            }

            // Retorna endereços de um usuário pelo repositório
            var enderecosPagedList = _repository.ListarEnderecosPorUsuario(parametros);

            // Gera os metadados da paginação e adiciona ao cabeçalho

            var paginationMetadata = new
            {
                totalCount  = enderecosPagedList.TotalCount,
                pageSize    = enderecosPagedList.PageSize,
                currentPage = enderecosPagedList.CurrentPage,
                totalPages  = enderecosPagedList.TotalPages
            };

            Response.Headers.Add("Pagination", JsonConvert.SerializeObject(paginationMetadata));

            // Mapeia para a model com os dados formatados e retorna 200 - OK
            var enderecosModels = _mapper.Map <IEnumerable <GetUsuarioEnderecoModel> >(enderecosPagedList);

            return(Ok(enderecosModels));
        }
Example #2
0
        // Endereco

        public IPagedList <UsuarioEndereco> ListarEnderecosPorUsuario(UsuarioEnderecoParameters parametros)
        {
            var enderecosQuery = _context.UsuariosEnderecos.Where(x => x.UsuarioId == parametros.UsuarioId);

            // ordenação

            //enderecosQuery = AplicaOrdenacaoEnderecosUsuario(enderecosQuery, parametros.OrderBy);

            //enderecosQuery = enderecosQuery.OrderBy(parametros.OrderBy);

            // retorno paginado

            return(PagedList <UsuarioEndereco> .Create(enderecosQuery, parametros.Page, parametros.PageSize,
                                                       parametros.MetaOnly));
        }