public ActionResult LoadRecordData(string id) { var draw = Request.Form?.GetValues("draw").FirstOrDefault(); var start = Request.Form.GetValues("start").FirstOrDefault(); var length = Request.Form.GetValues("length").FirstOrDefault(); var sortColumn = Request.Form.GetValues("columns[" + Request.Form.GetValues("order[0][column]").FirstOrDefault() + "][name]").FirstOrDefault(); var sortColumnDir = Request.Form.GetValues("order[0][dir]").FirstOrDefault(); int pageSize = length != null?Convert.ToInt32(length) : 0; int skip = start != null?Convert.ToInt32(start) : 0; int totalRecords = 0; IEnumerable <RecordDTO> recordsDto = id == null?recordService.GeRecords() : recordService.GetRecordsByUserId(id); if (!(string.IsNullOrEmpty(sortColumn) && string.IsNullOrEmpty(sortColumnDir))) { if (sortColumn == "DateTime") { recordsDto = sortColumnDir == "desc" ? recordsDto.OrderByDescending(r => r.DateTime) : recordsDto.OrderBy(r => r.DateTime); } else { recordsDto = recordsDto.OrderBy(sortColumn + " " + sortColumnDir); } } totalRecords = recordsDto.Count(); recordsDto = recordsDto.Skip(skip).Take(pageSize).ToList(); var data = Mapper.Map <IEnumerable <RecordDTO>, List <RecordModel> >(recordsDto); return(Json(new { draw = draw, recordsFiltered = totalRecords, recordsTotal = totalRecords, data = data }, JsonRequestBehavior.AllowGet)); }