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 totalSuggestions = _suggestionRepository.Count(); if (pageSize == 0) { pageSize = totalSuggestions; currentPageSize = pageSize; } var totalPages = (int)Math.Ceiling((double)totalSuggestions / pageSize); IEnumerable <Suggestion> _suggestions = _suggestionRepository .AllIncluding(s => s.Creator, s => s.Area) .OrderByDescending(s => s.Id) .Skip((currentPage - 1) * currentPageSize) .Take(currentPageSize) .ToList(); IEnumerable <SuggestionViewModel> _suggestionsVM = Mapper.Map <IEnumerable <Suggestion>, IEnumerable <SuggestionViewModel> >(_suggestions); Response.AddPagination(page, pageSize, totalSuggestions, totalPages); return(new OkObjectResult(_suggestionsVM)); }