public string GetTestigosParticipacion(int iDisplayStart, int iDisplayLength, int sEcho, int iSortCol_0, string sSortDir_0, string id_centro) { var dth = new DataTableHelper(); var db = new edayRoomEntities(); var centros = from c in db.Centroes from t in db.PadronElectoralParticipacions where c.unique_id == t.id_centro && id_centro == c.unique_id select new {c, t}; dth.iTotalRecords = centros.Count(); dth.iTotalDisplayRecords = centros.Count(); dth.sEcho = sEcho; var centroList = centros.ToList(); dth.aaData = centroList.Select(c => new List<string> { c.c.unique_id, c.c.Nombre, c.c.unidadGeografica1, c.c.unidadGeografica2, c.c.unidadGeografica3, c.t.id_mesa, c.t.nombre, c.t.telefono }).Skip(iDisplayStart).Take(iDisplayLength).ToList(); return new JavaScriptSerializer().Serialize(dth); }
public ActionResult AdminMesa(int idMesa) { var db = new edayRoomEntities(); Mesa mesa = (from m in db.Mesas where m.id == idMesa select m).Single(); IOrderedEnumerable<Participacion> participacion = from p in mesa.Participacions where p.id_testigo != null orderby p.fecha descending select p; Participacion lastParticipacion = participacion.FirstOrDefault(); Debug.Assert(lastParticipacion != null, "lastParticipacion != null"); var contact = new ParticipacionContact { Centro = mesa.Centro.Nombre, IdMesa = mesa.id, IdTestigo = mesa.Testigoes.First(t => t.activo).id, Mesa = mesa.numero, NombreTestigo = mesa.Testigoes.First(t => t.activo).nombre, Numero = mesa.Testigoes.First(t => t.activo).numero, Votantes = mesa.votantes, LastUpdate = mesa.lastContact, LastValue = mesa.participacion }; ViewData["mesa"] = mesa; ViewData["participacion"] = participacion.ToList(); ViewData["contact"] = contact; return View("AdminMesa"); }
public ActionResult CancelAlert(int idAlerta, string modulo) { var db = new edayRoomEntities(); switch (modulo) { case "Participación": db.ParticipacionAlertas.Single(pa => pa.id == idAlerta).activa = false; break; case "Movilización": db.MovilizacionAlertas.Single(pa => pa.id == idAlerta).activa = false; break; case "Exit Poll": db.ExitPollAlertas.Single(pa => pa.id == idAlerta).activa = false; break; case "QuickCount": db.QuickCountAlertas.Single(pa => pa.id == idAlerta).activa = false; break; case "Totalización": db.TotalizacionAlertas.Single(pa => pa.id == idAlerta).activa = false; break; } db.SaveChanges(); return RedirectToAction("ListAlertas"); }
public ParticipacionStats(user user) { var db = new edayRoomEntities(); int conteo = user.admin ? db.Participacions.Where(p => p.active).Sum(p => p.conteo) : (from p in db.Participacions from ap in db.AsignacionParticipacions where p.active && p.id_mesa == ap.id_mesa && ap.id_user == user.id select p).Sum(p => p.conteo); /* _centros = user.admin? db.Centroes.Count(): (from m in db.Mesas from ap in db.AsignacionParticipacions where m.id == ap.id_mesa select m.id_centro).Distinct().Count(); _mesas = user.admin ? db.Mesas.Count() : (from m in db.Mesas from ap in db.AsignacionParticipacions where m.id == ap.id_mesa select m).Count();*/ _participacion = conteo; //_movilizacion = db.Movilizacions.Where(p => p.active).Sum(p => p.conteo); }
public string CrearCandidato(string nombre, string coalicion, string partido, string color, string colorpartido, string colorcoalicion) { var db = new edayRoomEntities(); var rel = new RelacionCandidatoPartidoCoalicion(); db.RelacionCandidatoPartidoCoalicions.AddObject(rel); Candidato candidato = db.Candidatoes.SingleOrDefault(c => c.nombre.ToLower() == nombre.ToLower()); if (candidato == null) { candidato = new Candidato {nombre = nombre, color = color}; db.Candidatoes.AddObject(candidato); } Partido partidoObj = db.Partidoes.SingleOrDefault(c => c.nombre.ToLower() == partido.ToLower()); if (partidoObj == null) { partidoObj = new Partido {nombre = partido, color=colorpartido}; db.Partidoes.AddObject(partidoObj); } Coalicion coalicionObj = db.Coalicions.SingleOrDefault(c => c.nombre.ToLower() == coalicion.ToLower()); if (coalicionObj == null) { coalicionObj = new Coalicion {nombre = coalicion, color = colorcoalicion}; db.Coalicions.AddObject(coalicionObj); } partidoObj.RelacionCandidatoPartidoCoalicions.Add(rel); coalicionObj.RelacionCandidatoPartidoCoalicions.Add(rel); candidato.RelacionCandidatoPartidoCoalicions.Add(rel); db.SaveChanges(); return new JavaScriptSerializer().Serialize(""); }
public ActionResult Index() { using (var db = new edayRoomEntities()) { return View("Settings", db.Settings.First()); } }
public string ActualizarAlertaTotalizacion(TotalizacionContact contacto, string mensaje) { var db = new edayRoomEntities(); var user = db.users.Single(u => u.username == User.Identity.Name); TotalizacionAlerta alerta = (from a in db.TotalizacionAlertas where a.id == contacto.BlockingAlert.Id select a).Single(); if (!string.IsNullOrWhiteSpace(mensaje)) { var alertMessage = new TotalizacionAlertaMessage { fecha = DateTime.Now, mensaje = mensaje, id_usuario=user.id }; alerta.TotalizacionAlertaMessages.Add(alertMessage); } db.SaveChanges(); IQueryable<TotalizacionContactAlertMessage> mensajesAlerta = (from a in alerta.TotalizacionAlertaMessages orderby a.fecha descending select new TotalizacionContactAlertMessage { Id = a.id, Fecha = a.fecha, Message = a.mensaje }).AsQueryable(); return new JavaScriptSerializer().Serialize(""); }
public static void UpdateMatriz(int idCentro) { var db = new edayRoomEntities(); var centro = db.Centroes.Single(c => c.id == idCentro); var matriz = db.mudVsPsuvs.Single(c => c.id_centro == centro.unique_id); var mesas = (from m in db.Mesas where m.id_centro == centro.id && m.Totalizacions.Any() select m); var votantesContados = mesas.Any()?mesas.Sum(m => m.votantes):0; var totales = (from m in db.Mesas from t in db.Totalizacions where m.id_centro == centro.id && t.id_mesa == m.id select t).GroupBy(t=>t.RelacionCandidatoPartidoCoalicion.Candidato.nombre). Select(k=>new{k.Key,valor = k.Sum(m=>m.valor)}); int totalCapriles = totales.Any() ? totales.Single(t => t.Key.Contains("Capriles")).valor:0; int totalChavez = totales.Any() ? totales.Single(t => t.Key.Contains("Jaua")).valor:0; int abstencion = 0; totalCapriles = totalCapriles * (centro.votantes??0) / votantesContados; totalChavez = totalChavez*(centro.votantes??0)/votantesContados; abstencion = (centro.votantes ?? 0) - (totalCapriles + totalChavez); matriz.mud_actual = totalCapriles; matriz.psuv_actual = totalChavez; matriz.abstencion = abstencion; db.SaveChanges(); }
public string GetAllUserFiles() { var db = new edayRoomEntities(); IOrderedQueryable<UserFile> userFiles = from uf in db.UserFiles orderby uf.fileName descending select uf; return new JavaScriptSerializer().Serialize(userFiles); }
public ActionResult UpdateSettings(Setting setting) { using (var db = new edayRoomEntities()) { db.Settings.Attach(setting); db.ObjectStateManager.ChangeObjectState(setting, EntityState.Modified); db.SaveChanges(); } return RedirectToAction("Index"); }
public string GetAlertasActivasPorTendencia(string tag1, string tag2, string estados, string municipios) { var db = new edayRoomEntities(); var tag1Filter = string.IsNullOrWhiteSpace(tag1) ? null : tag1; var tag2Filter = string.IsNullOrWhiteSpace(tag2) ? null : tag2; var estadosFilter = string.IsNullOrWhiteSpace(estados) ? null : estados; var municipiosFilter = string.IsNullOrWhiteSpace(municipios) ? null : municipios; return JsonConvert.SerializeObject(db.GetAlertasActivasPorTendencia(tag1Filter, tag2Filter, estadosFilter, municipiosFilter)); }
public string GetMatrizCalique(string tag1, string tag2, string estados, string municipios) { var db = new edayRoomEntities(); var tag1Filter = string.IsNullOrWhiteSpace(tag1) ? null : tag1; var tag2Filter = string.IsNullOrWhiteSpace(tag2) ? null : tag2; var estadosFilter = string.IsNullOrWhiteSpace(estados) ? null : estados; var municipiosFilter = string.IsNullOrWhiteSpace(municipios) ? null : municipios; var matriz = db.GetMatrizCalique(tag1Filter, tag2Filter, estadosFilter, municipiosFilter); return JsonConvert.SerializeObject(new { matriz }); }
public Mesa(int id) { var db = new edayRoomEntities(); var mesa = db.Mesas.SingleOrDefault(m => m.id == id); if (mesa != null) { InitializeFromEntity(mesa); } else { throw new Exception("No hay una mesa con id = " + id); } }
public SettingsHandler() { using (var db = new edayRoomEntities()) { Setting s = db.Settings.First(); EnableDashboard = s.enableDashboard; EnableExitPolls = s.enableExitPoll; EnableMovilizacion = s.enableMovilizacion; EnableParticipacion = s.enableParticipacion; EnableQuickCount = s.enableQuickCount; EnableTotalizacion = s.enableTotalizacion; } }
public string DeleteCandidato(int id) { var db = new edayRoomEntities(); Candidato candidato = (from c in db.Candidatoes where c.id == id select c).SingleOrDefault(); if (candidato != null) { db.Candidatoes.DeleteObject(candidato); } db.SaveChanges(); return "Deleted"; }
public string EditTestigoMovilizacion(int tid, string name, string number) { var db = new edayRoomEntities(); var testigo = db.Movilizadors.SingleOrDefault(m => m.id == tid); if(testigo != null) { testigo.nombre = name; testigo.numero = number; db.SaveChanges(); return "Testigo editado"; } return "Error"; }
public ExitPollStats() { var randomizer = new Random(); var db = new edayRoomEntities(); IQueryable<IGrouping<int, Participacion>> participacion = db.Participacions.GroupBy(p => p.id_mesa); int ExitPoll = 0; int conteo = Enumerable.Sum(participacion, p => p.OrderByDescending(g => g.fecha).First().conteo); _centros = db.Centroes.Count(); _mesas = db.Mesas.Count(); _participacion = conteo; _ExitPoll = ExitPoll; }
public string EditTestigoParticipacion(int tid, string name, string number) { var db = new edayRoomEntities(); var testigo = db.Testigoes.SingleOrDefault(t => t.id == tid); if (testigo != null) { testigo.numero = number; testigo.nombre = name; db.SaveChanges(); return "Testigo Editado"; } return "Falla editando"; }
public MovilizacionStats(user user) { var db = new edayRoomEntities(); _centros = db.AsignacionMovilizacions.Count(am=>am.id_user == user.id); _mesas = (from m in db.Mesas from c in db.Centroes from am in db.AsignacionMovilizacions where m.id_centro == c.id && am.id_centro == c.id && am.id_user == user.id select m ).Count(); _movilizacion = db.AsignacionMovilizacions.Where(m => m.id_user == user.id).Sum(c => c.Centro.Movilizacions.Max(m=>m.conteo)); }
public string GetAlertas(string tag1, string tag2, string estados, string municipios) { var db = new edayRoomEntities(); var tag1Filter = string.IsNullOrWhiteSpace(tag1) ? null : tag1; var tag2Filter = string.IsNullOrWhiteSpace(tag2) ? null : tag2; var estadosFilter = string.IsNullOrWhiteSpace(estados) ? null : estados; var municipiosFilter = string.IsNullOrWhiteSpace(municipios) ? null : municipios; var totales = db.GetAlertasTotales(tag1Filter, tag2Filter, estadosFilter, municipiosFilter); var activas = db.GetAlertasActivas(tag1Filter, tag2Filter, estadosFilter, municipiosFilter); var estadosl = db.GetAlertasPorEstados(); return JsonConvert.SerializeObject( new { totales, activas, estadosl }); }
public ActionResult AdminCentro(int idCentro) { var db = new edayRoomEntities(); var user = db.users.Single(u => u.username == User.Identity.Name); Centro centro = (from c in db.Centroes where c.id == idCentro select c).Single(); List<Mesa> mesas = (from m in centro.Mesas1 where user.admin || m.AsignacionTotalizacions.Any(at => at.id_user == user.id) select m).ToList(); ViewData["centro"] = centro; ViewData["mesas"] = mesas; return View("AdminCentro"); }
public ActionResult AdminCentro(int idCentro) { var db = new edayRoomEntities(); user user = db.users.Single(u => u.username == User.Identity.Name); Centro centro = (from c in db.Centroes where c.id == idCentro select c).Single(); List<Mesa> mesas = (from m in centro.Mesas1 where (user.admin || (user.leader && m.Centro.grupo == user.grupo) || m.AsignacionParticipacions.Any(ap => ap.id_user == user.id)) select m).ToList(); ViewData["centro"] = centro; ViewData["mesas"] = mesas; return View("AdminCentro"); }
public string ActualizarAlertaParticipacion(ParticipacionContact contacto, string mensaje) { var db = new edayRoomEntities(); var user = db.users.Single(u => u.username == User.Identity.Name); ParticipacionAlerta alerta = (from a in db.ParticipacionAlertas where a.id == contacto.BlockingAlert.Id select a).Single(); if (!string.IsNullOrWhiteSpace(mensaje)) { var alertMessage = new ParticipacionAlertaMessage { fecha = DateTime.Now, mensaje = mensaje, id_usuario = user.id }; alerta.ParticipacionAlertaMessages.Add(alertMessage); } db.SaveChanges(); return new JavaScriptSerializer().Serialize("success"); }
public ActionResult AdminMesa(int idMesa) { var db = new edayRoomEntities(); Mesa mesa = (from m in db.Mesas where m.id == idMesa select m).Single(); Centro centro = (from c in db.Centroes where c.id == mesa.id_centro select c).Single(); bool totalizacionDone = mesa.Totalizacions.Any(); Testigo testigo = mesa.Testigoes.FirstOrDefault(t => t.activo); ViewData["centro"] = centro; ViewData["mesa"] = mesa; ViewData["totalizacionDone"] = totalizacionDone; ViewData["contact"] = (from pt in db.TotalizacionTimelines where mesa.id == pt.id_mesa && pt.activa select new TotalizacionContact { Centro = mesa.Centro.Nombre, CentroId = mesa.Centro.id, LastUpdate = pt.fecha, NextUpdate = pt.fecha, Votantes = mesa.votantes, IdTestigo = testigo.id, Mesa = mesa.numero, MesaId = mesa.id, TotalizacionTimelineId = pt.id, NombreTestigo = testigo.nombre, Numero = testigo.numero }).SingleOrDefault(); if (totalizacionDone) { ViewData["totales"] = mesa.Totalizacions.OrderBy(t => t.RelacionCandidatoPartidoCoalicion.Candidato.nombre).ThenBy( t => t.RelacionCandidatoPartidoCoalicion.Partido.nombre).ToList(); } return View(); }
public ActionResult AdminCentro(int idCentro) { var db = new edayRoomEntities(); Centro centro = (from c in db.Centroes where c.id == idCentro select c).Single(); ViewData["centro"] = centro; bool quickCountDone = centro.Mesas1.Any(m => m.Totalizacions.Any()); ViewData["quickCountDone"] = quickCountDone; if (quickCountDone) { Mesa mesa = centro.Mesas1.FirstOrDefault(m => m.Totalizacions.Any(t => t.QuickCountTimelines.Any())) ?? centro.Mesas1.FirstOrDefault(m => m.Totalizacions.Any()); ViewData["mesa"] = mesa; ViewData["totales"] = mesa.Totalizacions.OrderBy(t => t.RelacionCandidatoPartidoCoalicion.Candidato.nombre).ThenBy( t => t.RelacionCandidatoPartidoCoalicion.Partido.nombre).ToList(); } else { ViewData["contact"] = (from c in db.Centroes from pt in db.QuickCountTimelines where c.id == idCentro && c.id == pt.id_centro && pt.activa && (c.quickCountActive ?? false) select new TotalizacionContact { Centro = c.Nombre, CentroId = c.id, LastUpdate = pt.fecha, NextUpdate = pt.fecha, Votantes = c.votantes ?? 0, TotalizacionTimelineId = pt.id }).SingleOrDefault(); } return View(); }
public string GetMatrizSustitucion(string tag1, string tag2, string estados, string municipios) { var db = new edayRoomEntities(); var tag1Filter = string.IsNullOrWhiteSpace(tag1) ? null : tag1; var tag2Filter = string.IsNullOrWhiteSpace(tag2) ? null : tag2; var estadosFilter = string.IsNullOrWhiteSpace(estados) ? null : estados; var municipiosFilter = string.IsNullOrWhiteSpace(municipios) ? null : municipios; var matriz = from m in db.mudVsPsuvs from c in db.Centroes where m.id_centro == c.unique_id && (tag1Filter == null || tag1Filter.Contains(c.tag1)) && (tag2Filter == null || tag2Filter.Contains(c.tag2)) && (estadosFilter == null || estadosFilter.Contains(c.unidadGeografica1)) && (municipiosFilter == null || municipiosFilter.Contains(c.unidadGeografica2)) select m; var totalMud2012 = matriz.Sum(m => m.mud2012); var totalPsuv2012 = matriz.Sum(m => m.psuv2012); var totalAbstencion2012 = matriz.Sum(m => m.abstencion2012); var total2012 = totalMud2012 + totalPsuv2012 + totalAbstencion2012; var totalMud = matriz.Sum(m => m.mud_actual ?? m.mud2012); var totalPsuv = matriz.Sum(m => m.psuv_actual ?? m.psuv2012); var totalAbstencion = matriz.Sum(m => m.abstencion ?? m.abstencion2012); var total = totalMud + totalPsuv + totalAbstencion; return JsonConvert.SerializeObject(new { totalMud2012 = totalMud2012 * 100.0 / total2012, totalPsuv2012 = totalPsuv2012 * 100.0 / total2012, totalAbstencion2012 = totalAbstencion2012 * 100.0 / total2012, totalMud = totalMud * 100.0 / total, totalPsuv = totalPsuv * 100.0 / total, totalAbstencion = totalAbstencion * 100.0 / total }); }
public string GetIndicadores(string tag1, string tag2, string estados, string municipios) { var db = new edayRoomEntities(); var tag1Filter = string.IsNullOrWhiteSpace(tag1) ? null : tag1; var tag2Filter = string.IsNullOrWhiteSpace(tag2) ? null : tag2; var estadosFilter = string.IsNullOrWhiteSpace(estados) ? null : estados; var municipiosFilter = string.IsNullOrWhiteSpace(municipios) ? null : municipios; var muestra = db.GetMetricasMuestra(tag1Filter, tag2Filter, estadosFilter, municipiosFilter).First(); var generales = db.GetMetricasGenerales(tag1Filter, tag2Filter, estadosFilter, municipiosFilter).First(); var alarmas = db.GetMetricasAlarmas(tag1Filter, tag2Filter, estadosFilter, municipiosFilter).First(); var participacion = db.GetMetricasParticipacion(tag1Filter, tag2Filter, estadosFilter, municipiosFilter).First(); var movilizacion = db.GetMetricasMovilizacion(tag1Filter, tag2Filter, estadosFilter, municipiosFilter).First(); var totalizacion = db.GetMetricasTotalizacion(tag1Filter, tag2Filter, estadosFilter, municipiosFilter).First(); return JsonConvert.SerializeObject( new { muestra,generales,alarmas, participacion, movilizacion, totalizacion }); }
public ActionResult Index() { var db = new edayRoomEntities(); user user = db.users.SingleOrDefault(u => u.username == User.Identity.Name); if (user.dashboard) { return RedirectToAction("Index", "Dashboard"); } if (user.participacion) { return RedirectToAction("Index", "Participacion"); } if (user.movilizacion) { return RedirectToAction("Index", "Movilizacion"); } if (user.exitpolls) { return RedirectToAction("Index", "ExitPolls"); } if (user.quickcount) { return RedirectToAction("Index", "QuickCount"); } if (user.totalizacion) { return RedirectToAction("Index", "Totalizacion"); } if (user.alertas) { return RedirectToAction("ListAlertas", "Alertas"); } throw new Exception("No actions available for this user"); }
public ActionResult AdminCentro(int idCentro) { var db = new edayRoomEntities(); var centro = (from c in db.Centroes where c.id == idCentro select c).Single(); var movilizacion = from p in centro.Movilizacions orderby p.fecha descending select p; MovilizacionTimeline timelineMovilizacion = (from tp in db.MovilizacionTimelines where tp.activa && tp.id_centro== idCentro select tp).Single(); Movilizacion lastMovilizacion= movilizacion.FirstOrDefault(); Debug.Assert(lastMovilizacion != null, "lastMovilizacion != null"); var contact = new MovilizacionContact { Centro = centro.Nombre, IdCentro= centro.id, IdTestigo = centro.Movilizadors.First(t => t.activo).id, NombreTestigo = centro.Movilizadors.First(t => t.activo).nombre, Numero = centro.Movilizadors.First(t => t.activo).numero, Votantes = centro.votantes??0, LastUpdate = lastMovilizacion.fecha, LastValue = lastMovilizacion.conteo, LastMovilizacionId = lastMovilizacion.id, MovilizacionTimelineId = timelineMovilizacion.id }; ViewData["centro"] = centro; ViewData["movilizacion"] = movilizacion.ToList(); ViewData["contact"] = contact; return View("AdminCentro"); }
public string GetAllUsuariosPaginate(int iDisplayStart, int iDisplayLength, int sEcho, int iSortCol_0, string sSortDir_0, string sSearch) { var dth = new DataTableHelper(); var db = new edayRoomEntities(); IQueryable<user> usuarios = from u in db.users select u; dth.iTotalRecords = usuarios.Count(); #region Filtros sSearch = sSearch.ToLower(); if (!string.IsNullOrWhiteSpace(sSearch)) { usuarios = usuarios.Where(u => u.username.ToLower().Contains(sSearch) || u.nombre.ToLower().Contains(sSearch) || u.apellido.ToLower().Contains(sSearch)); } #endregion dth.iTotalDisplayRecords = usuarios.Count(); usuarios = usuarios.OrderBy(u => u.username); #region Sorting de registros switch (sSortDir_0) { case "asc": switch (iSortCol_0) { case 0: usuarios = usuarios.OrderBy(u => u.username); break; case 1: usuarios = usuarios.OrderBy(u => u.nombre); break; case 2: usuarios = usuarios.OrderBy(u => u.apellido); break; case 3: usuarios = usuarios.OrderBy(u => u.grupo); break; case 4: usuarios = usuarios.OrderBy(u => u.admin); break; case 5: usuarios = usuarios.OrderBy(u => u.participacion); break; case 6: usuarios = usuarios.OrderBy(u => u.movilizacion); break; case 7: usuarios = usuarios.OrderBy(u => u.exitpolls); break; case 8: usuarios = usuarios.OrderBy(u => u.quickcount); break; case 9: usuarios = usuarios.OrderBy(u => u.totalizacion); break; } break; case "desc": switch (iSortCol_0) { case 0: usuarios = usuarios.OrderByDescending(u => u.username); break; case 1: usuarios = usuarios.OrderByDescending(u => u.nombre); break; case 2: usuarios = usuarios.OrderByDescending(u => u.apellido); break; case 3: usuarios = usuarios.OrderByDescending(u => u.grupo); break; case 4: usuarios = usuarios.OrderByDescending(u => u.admin); break; case 5: usuarios = usuarios.OrderByDescending(u => u.participacion); break; case 6: usuarios = usuarios.OrderByDescending(u => u.movilizacion); break; case 7: usuarios = usuarios.OrderByDescending(u => u.exitpolls); break; case 8: usuarios = usuarios.OrderByDescending(u => u.quickcount); break; case 9: usuarios = usuarios.OrderByDescending(u => u.totalizacion); break; } break; } #endregion dth.sEcho = sEcho; var ulist = usuarios.Select(u => new { u.username, u.nombre, u.apellido, u.grupo, admin = u.admin ? "si" : "no", leader = u.leader ? "si" : "no", participacion = u.participacion ? "si" : "no", movilizacion = u.movilizacion ? "si" : "no", exitpolls = u.exitpolls ? "si" : "no", quickcount = u.quickcount ? "si" : "no", totalizacion = u.totalizacion ? "si" : "no", dashboard = u.dashboard ? "si" : "no" }).ToList(); List<List<string>> users = ulist.Select(u => new List<string> { u.username, u.nombre, u.apellido, u.grupo, u.admin, u.leader, u.participacion, u.movilizacion, u.exitpolls, u.quickcount, u.totalizacion, u.dashboard }).ToList(); dth.aaData = users.Skip(iDisplayStart).Take(iDisplayLength).ToList(); return new JavaScriptSerializer().Serialize(dth); }