Exemplo n.º 1
0
        public IActionResult Get()
        {
            var pagination = Request.Headers["Pagination"];

            if (!string.IsNullOrEmpty(pagination))
            {
                string[] vals = pagination.ToString().Split(',');
                int.TryParse(vals[0], out page);
                int.TryParse(vals[1], out pageSize);
            }

            int currentPage     = page;
            int currentPageSize = pageSize;
            var totalAnimals    = _animalRepository.Count();
            var totalPages      = (int)Math.Ceiling((double)totalAnimals / pageSize);

            IEnumerable <Animal> _animals = _animalRepository
                                            .AllIncluding(a => a.AnimalsToAnimalShelter)
                                            .OrderBy(u => u.Id)
                                            .Skip((currentPage - 1) * pageSize)
                                            .Take(currentPage)
                                            .ToList();

            IEnumerable <AnimalViewModel> _animalViewModel = Mapper.Map <IEnumerable <Animal>, IEnumerable <AnimalViewModel> >(_animals);

            Response.AddPagination(page, pageSize, totalAnimals, totalPages);

            return(new OkObjectResult(_animalViewModel));
        }