//[Route("api/Asset/GetAssets")] public IHttpActionResult GetAssets(string sidx, string sord, int page, int pageSize) { try { //get data from the repository var result = _AssetService.GellAllQueryWithSort(sidx, sord); //index start from 0 int pageIndex = page - 1; //get total of the records int totalRecords = _AssetService.Count(); //calculate the number of pages var totalPages = (int)Math.Ceiling((float)totalRecords / (float)pageSize); //return the result var jsonData = new APIResult() { TotalPages = totalPages, Page = page, TotalRecords = totalRecords, data = result.Skip(pageIndex * pageSize).Take(pageSize) }; return(Json(jsonData)); } catch (Exception ex) { return(SendErrorMessage(ex.Message, HttpStatusCode.BadRequest)); } }