public JsonResult UserActivityDetails(DataTableViewModel objReq) { try { int CustomerID = GetLogin(); int RoleID = GetRole(); if (objReq != null) { DataTableResponse <UserGeoLocationModel> objResp = new DataTableResponse <UserGeoLocationModel>(); // IQueryable<UserGeoLocationModel> query = this.objUserDetailService.UserActivityDetails(); List <UserGeoLocationModel> objgeo = objUserDetailService.GetUserGeoLoctionLog(CustomerID); IQueryable <UserGeoLocationModel> query = objgeo.AsQueryable(); objResp.recordsTotal = query.Count(); for (int i = 0; i < objReq.order.Count; i++) { int idx = Convert.ToInt32(objReq.order[i].column); switch (objReq.columns[idx].data) { case "Username": if (objReq.order[i].dir == "asc") { query = query.OrderBy(x => x.Username); } else { query = query.OrderByDescending(x => x.Username); } break; default: case "CreatedOn": if (objReq.order[i].dir == "asc") { query = query.OrderBy(x => x.CreatedOn); } else { query = query.OrderByDescending(x => x.CreatedOn); } break; } } objResp.draw = objReq.draw; objResp.recordsFiltered = query.Count(); objResp.data = query.Skip(objReq.start).Take(objReq.length).ToList(); return(Json(objResp)); } return(null); } catch (Exception ex) { ErrorLog.Log("OrderController", "OrderListing", ex); throw; } }