public HttpResponseMessage GetAll(HttpRequestMessage request, string keyword, int page, int pageSize = 20) { return(CreateHttpResponse(request, () => { var model = _importService.GetAll(keyword); int totalRow = model.Count(); var query = model.OrderByDescending(x => x.CreatedDate).Skip(page * pageSize).Take(pageSize); var responseData = Mapper.Map <IEnumerable <Import>, IEnumerable <ImportViewModel> >(query); var paginationSet = new PaginationSet <ImportViewModel>() { Items = responseData, Page = page, TotalCount = totalRow, TotalPages = (int)Math.Ceiling((decimal)totalRow / pageSize) }; HttpResponseMessage response = request.CreateResponse(HttpStatusCode.OK, paginationSet); return response; })); }