public ActionResult listarAntecedentesProductos(long incidencia) { var listaAntecedentes = MantenimientoData.GetListarAntecedentesProductos(incidencia); 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(); if (sortColumn != "" && sortColumnDir != "") { if (sortColumnDir.ToUpper() == "DESC") { var parametro = sortColumn; var propertyInfo = typeof(ListarAntecedentesIncidenteDto).GetProperty(parametro); listaAntecedentes = listaAntecedentes.OrderByDescending(x => propertyInfo.GetValue(x, null)).ToList(); } else { var parametro = sortColumn; var propertyInfo = typeof(ListarAntecedentesIncidenteDto).GetProperty(parametro); listaAntecedentes = listaAntecedentes.OrderBy(x => propertyInfo.GetValue(x, null)).ToList(); } } var displayedDocumentos = listaAntecedentes; int pageSize = length != null?Convert.ToInt32(length) : 0; int skip = start != null?Convert.ToInt32(start) : 0; int recordsTotal = 0; recordsTotal = displayedDocumentos.Count(); var data = displayedDocumentos.Skip(skip).Take(pageSize).ToList(); return(Json(new { draw = draw, recordsFiltered = recordsTotal, recordsTotal = recordsTotal, data = data }, JsonRequestBehavior.AllowGet)); }