public ActionResult GetAll(string name, int deptId, string kind, string dateFrom, string dateTo, string sortdatafield, string sortorder, int pagesize, int pagenum) { //string name, int deptId, string kind, DateTime? dateFrom, DateTime? dateTo var fromDate = string.IsNullOrEmpty(dateFrom) ? DateTime.MinValue : (new DateTime(int.Parse(dateFrom.Split('.')[0]), int.Parse(dateFrom.Split('.')[1]), int.Parse(dateFrom.Split('.')[2]))); var toDate = string.IsNullOrEmpty(dateTo) ? DateTime.MaxValue : ((new DateTime(int.Parse(dateTo.Split('.')[0]), int.Parse(dateTo.Split('.')[1]), int.Parse(dateTo.Split('.')[2])))); string empId = User.GetClaimValue(ClaimTypes.PrimarySid); var repository = new ApplicationMasterRepository(); var list = repository.GetAllMaster(string.IsNullOrEmpty(name) ? null : name, deptId, string.IsNullOrEmpty(kind) ? null : kind, fromDate, toDate, empId); var total = list.Count(); if (!string.IsNullOrEmpty(sortorder)) { list = sortorder == "asc" ? list.OrderBy(o => o.GetType().GetProperty(sortdatafield).GetValue(o, null)) : list.OrderByDescending(o => o.GetType().GetProperty(sortdatafield).GetValue(o, null)); } list = list.Skip(pagesize * pagenum).Take(pagesize); var result = new { TotalRows = total, Rows = list }; return(Json(result, JsonRequestBehavior.AllowGet)); }