예제 #1
0
        //[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));
            }
        }