public HttpResponseMessage GetAll(HttpRequestMessage request, string keyword, int page, int pageSize = 20) { int totalRow = 0; int totalApproval = 0; var model = _newService.GetAllNews(keyword, out totalApproval); totalRow = model.Count(); var query = model.OrderByDescending(n => n.CreatedDate).Skip(page * pageSize).Take(pageSize); var reponseData = Mapper.Map <IEnumerable <New>, IEnumerable <NewViewModel> >(query); var paginationSet = new PaginationSet <NewViewModel>() { Items = reponseData, Page = page, TotalCount = totalRow, TotalPages = (int)Math.Ceiling((decimal)totalRow / pageSize), TotalApproval = totalApproval }; HttpResponseMessage response = request.CreateResponse(HttpStatusCode.OK, paginationSet); return(response); }