Example #1
0
        public IActionResult Get(int page, int size)
        {
            var totalItems = serializer.GetCount();

            if (page > Math.Ceiling((totalItems / (decimal)size)))
            {
                return(NotFound());
            }

            var objects = serializer.GetEmployees(page, size).Select(l => Helpers.LinkBuilder.AddHateoas(Url, Helpers.EmployeeHelper.ConvertToPublicObject(l))).ToList();

            var employeePage = new EmployeePage
            {
                Id         = Convert.ToString(page),
                PageHeader = new PageHeader
                {
                    Page     = page,
                    PageSize = size,
                },
                Employees = objects.Cast <Employee>().ToList()
            };

            employeePage = (EmployeePage)Helpers.LinkBuilder.AddHateoasGet(Url, employeePage);
            Response.Headers.Add("X-Pagination", employeePage.PageHeader.ToJson());
            return(Ok(employeePage));
        }