public JsonResult GetAudits([ModelBinder(typeof(DataTablesBinder))] IDataTablesRequest requestModel) { string userkey = ConfigurationManager.AppSettings["userkey"]; string uid = ConfigurationManager.AppSettings["uid"]; string LoginUser = (string)Session["LoginSAPID"]; try { Employer.Employer employer = new Employer.Employer(); DataTable dt = employer.Getaudittrail(LoginUser, userkey, uid); dt.TableName = "Audit"; dt.Columns.ToString(); List <Audits> audits = new List <Audits>(); int startRec = requestModel.Start; int pageSize = requestModel.Length; List <Audits> auditCount = (from DataRow dr in dt.Rows select new Audits() { ID = dr["ID"].ToString() }).ToList(); audits = (from DataRow dr in dt.Rows orderby dr["ID"] descending select new Audits() { ID = dr["ID"].ToString(), TABLE_NAME = dr["TABLE_NAME"].ToString(), COLUMN_NAME = dr["COLUMN_NAME"].ToString(), OLD_VALUE = dr["OLD_VALUE"].ToString(), NEW_VALUE = dr["NEW_VALUE"].ToString(), RECORD_ID = dr["RECORD_ID"].ToString(), OLD_VALUE2 = dr["OLD_VALUE2"].ToString(), NEW_VALUE2 = dr["NEW_VALUE2"].ToString(), RECORD_ID2 = dr["RECORD_ID2"].ToString(), RECORD_COLUMN = dr["RECORD_COLUMN"].ToString(), CHANGED_BY = dr["CHANGED_BY"].ToString(), DATE_CHANGED = Convert.ToDateTime(dr["DATE_CHANGED"]).ToString("dd-MMM-yyyy hh:mm"), APPROVED_BY = dr["APPROVED_BY"].ToString(), DATE_APPROVED = Convert.ToDateTime(dr["DATE_APPROVED"]).ToString("dd-MMM-yyyy hh:mm"), STATUS = dr["STATUS"].ToString(), CHANGE_TYPE = dr["CHANGE_TYPE"].ToString(), COLUMN_TYPE = dr["COLUMN_TYPE"].ToString(), RECORD_COLUMN_TYPE = dr["RECORD_COLUMN_TYPE"].ToString(), NOTE = dr["NOTE"].ToString() }).Skip(startRec).Take(pageSize).ToList(); var totalCount = auditCount.Count(); var filteredCount = audits.Count(); var sortedColumns = requestModel.Columns.GetSortedColumns(); var orderByString = String.Empty; foreach (var column in sortedColumns) { orderByString += orderByString != String.Empty ? "," : ""; orderByString += (column.Data) + (column.SortDirection == Column.OrderDirection.Ascendant ? " asc" : " desc"); } var data = audits.Select(emList => new { ID = emList.ID, TABLE_NAME = emList.TABLE_NAME, COLUMN_NAME = emList.COLUMN_NAME, OLD_VALUE = emList.OLD_VALUE, NEW_VALUE = emList.NEW_VALUE, RECORD_ID = emList.RECORD_ID, OLD_VALUE2 = emList.OLD_VALUE2, NEW_VALUE2 = emList.NEW_VALUE2, RECORD_ID2 = emList.RECORD_ID2, RECORD_COLUMN = emList.RECORD_COLUMN, CHANGED_BY = emList.CHANGED_BY, DATE_CHANGED = emList.DATE_CHANGED, APPROVED_BY = emList.APPROVED_BY, DATE_APPROVED = emList.DATE_APPROVED, STATUS = emList.STATUS, CHANGE_TYPE = emList.CHANGE_TYPE, COLUMN_TYPE = emList.COLUMN_TYPE, RECORD_COLUMN_TYPE = emList.RECORD_COLUMN_TYPE, NOTE = emList.NOTE }).ToList(); return(Json(new DataTablesResponse(requestModel.Draw, data, totalCount, totalCount), JsonRequestBehavior.AllowGet)); } catch (Exception ex) { LogError logerror = new LogError(); logerror.ErrorLog("", LoginUser, "", "AdminController/GetAudits", "AdminController", "GetAudits", "Getaudittrail Error", ex.Message.ToString(), 0); throw new Exception(ex.Message.ToString()); } }