Esempio n. 1
0
        public IHttpActionResult Get(int page = 0, int pageSize  = 10,
                                     int sort = 0, string filter = "")
        {
            List <EmployeeModel> list = new List <EmployeeModel>();
            var query = TimeUnit.Employees.Get();

            Filtering filtering = new Filtering();
            Sorting   sorting   = new Sorting();
            Paging    paging    = new Paging();

            query = filtering.EmployeeFiltering(query, filter);
            query = sorting.EmployeeSorting(query, sort);
            list  = paging.EmployeePaging(query, page, pageSize);

            int itemCount  = query.Count();
            int totalPages = (int)Math.Ceiling((double)itemCount / pageSize);

            Header h = new Header(totalPages, pageSize, page, sort);

            HttpContext.Current.Response.AddHeader("Pagination", JsonConvert.SerializeObject(h));

            Utility.Log($"Get data for employees.", "INFO");
            return(Ok(list));
        }