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 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); }
public string GetCentros(int iDisplayStart, int iDisplayLength, int sEcho, int iSortCol_0, string sSortDir_0, string sSearch) { var dth = new DataTableHelper(); var db = new edayRoomEntities(); user user = db.users.Single(u => u.username == User.Identity.Name); IQueryable<Centro> centros = from c in db.Centroes where (user.admin || (user.leader && c.grupo == user.grupo) || c.Mesas1.Any( m => m.AsignacionParticipacions.Any(ap => ap.id_user == user.id))) select c; dth.iTotalRecords = centros.Count(); if (!string.IsNullOrEmpty(sSearch)) { centros = centros.Where(c => c.Nombre.ToLower().Contains(sSearch.ToLower()) || (c.unidadGeografica1 ?? "").ToLower().Contains(sSearch.ToLower()) || (c.unidadGeografica2 ?? "").ToLower().Contains(sSearch.ToLower()) || (c.unidadGeografica3 ?? "").ToLower().Contains(sSearch.ToLower()) || (c.unidadGeografica4 ?? "").ToLower().Contains(sSearch.ToLower()) || (c.unidadGeografica5 ?? "").ToLower().Contains(sSearch.ToLower()) || (c.unidadGeografica6 ?? "").ToLower().Contains(sSearch.ToLower()) || (c.unidadGeografica7 ?? "").ToLower().Contains(sSearch.ToLower()) || (c.unidadGeografica8 ?? "").ToLower().Contains(sSearch.ToLower()) || c.Direccion.ToLower().Contains(sSearch.ToLower()) ); } dth.iTotalDisplayRecords = centros.Count(); #region ORDER ALERTAS switch (sSortDir_0) { case "asc": switch (iSortCol_0) { case 0: centros = centros.OrderBy(c => c.Nombre); break; case 1: centros = centros.OrderBy(c => c.unidadGeografica1); break; case 2: centros = centros.OrderBy(c => c.unidadGeografica2); break; case 3: centros = centros.OrderBy(c => c.unidadGeografica3); break; case 4: centros = centros.OrderBy(c => c.votantes); break; case 5: centros = centros.OrderBy(c => c.Mesas1.Sum(m => m.Participacions.Max(p => p.conteo))); break; } break; case "desc": switch (iSortCol_0) { case 0: centros = centros.OrderByDescending(c => c.Nombre); break; case 1: centros = centros.OrderByDescending(c => c.unidadGeografica1); break; case 2: centros = centros.OrderByDescending(c => c.unidadGeografica2); break; case 3: centros = centros.OrderByDescending(c => c.unidadGeografica3); break; case 4: centros = centros.OrderByDescending(c => c.votantes); break; case 5: centros = centros.OrderByDescending(c => c.Mesas1.Sum(m => m.Participacions.Max(p => p.conteo))); break; } break; } #endregion dth.sEcho = sEcho; List<Centro> clist = centros.Select(c => c).Skip(iDisplayStart).Take(iDisplayLength).ToList(); dth.aaData = new List<List<string>>(); foreach (var l in clist.Select(c => new List<string> { string.Format( "<a href='#centro={0}' centro-id='{0}' " + "class='centro-link'>{1}</a>", c.id, c.Nombre), c.unidadGeografica1, c.unidadGeografica2, c.unidadGeografica3, c.votantes + "", c.Mesas1.Sum(m => m.Participacions.Max(p => p.conteo)) + "" })) { dth.aaData.Add(l); } return new JavaScriptSerializer().Serialize(dth); }
public string GetAllMesasPaginate(int iDisplayStart, int iDisplayLength, int sEcho, int iSortCol_0, string sSortDir_0, string sSearch) { var dth = new DataTableHelper(); var db = new edayRoomEntities(); var mesas = from c in db.Centroes from m in db.Mesas where m.id_centro == c.id orderby c.Nombre select new{c, m}; dth.iTotalRecords = mesas.Count(); #region Filtros sSearch = sSearch.ToLower(); if (!string.IsNullOrWhiteSpace(sSearch)) { mesas = mesas.Where(c => c.c.unique_id.ToLower().Contains(sSearch) || c.m.uniqueId.ToLower().Contains(sSearch) || c.c.Nombre.ToLower().Contains(sSearch) || c.c.unidadGeografica1.ToLower().Contains(sSearch) || c.c.unidadGeografica2.ToLower().Contains(sSearch) || c.c.unidadGeografica3.ToLower().Contains(sSearch)); } #endregion dth.iTotalDisplayRecords = mesas.Count(); #region Sorting de registros switch (sSortDir_0) { case "asc": switch (iSortCol_0) { case 0: mesas = mesas.OrderBy(c => c.c.unique_id); break; case 1: mesas = mesas.OrderBy(c => c.c.Nombre); break; case 2: mesas = mesas.OrderBy(c => c.c.unidadGeografica1) .ThenBy(c => c.c.unidadGeografica2) .ThenBy(c => c.c.unidadGeografica3) .ThenBy(c => c.c.unidadGeografica4) .ThenBy(c => c.c.unidadGeografica5) .ThenBy(c => c.c.unidadGeografica6) .ThenBy(c => c.c.unidadGeografica7) .ThenBy(c => c.c.unidadGeografica8); break; } break; case "desc": switch (iSortCol_0) { case 0: mesas = mesas.OrderByDescending(c => c.c.unique_id); break; case 1: mesas = mesas.OrderByDescending(c => c.c.Nombre); break; case 2: mesas = mesas.OrderByDescending(c => c.c.unidadGeografica1) .ThenByDescending(c => c.c.unidadGeografica2) .ThenByDescending(c => c.c.unidadGeografica3) .ThenByDescending(c => c.c.unidadGeografica4) .ThenByDescending(c => c.c.unidadGeografica5) .ThenByDescending(c => c.c.unidadGeografica6) .ThenByDescending(c => c.c.unidadGeografica7) .ThenByDescending(c => c.c.unidadGeografica8); break; } break; } #endregion dth.sEcho = sEcho; var mesasList = mesas.ToList(); dth.aaData = mesasList.Select(c => new List<string> { c.c.unique_id, string.Format("<a href='/Centros/Edit/{1}' target='_blank'>{0}</a>",c.c.Nombre,c.c.id), (c.c.unidadGeografica1 ?? "") + " " + (c.c.unidadGeografica2 ?? "") + " " + (c.c.unidadGeografica3 ?? "") + " " + (c.c.unidadGeografica4 ?? "") + " " + (c.c.unidadGeografica5 ?? "") + " " + (c.c.unidadGeografica6 ?? "") + " " + (c.c.unidadGeografica7 ?? "") + " " + (c.c.unidadGeografica8 ?? ""), string.Format("<a href='/Mesas/Edit/{1}' target='_blank'>{0}</a>",c.m.uniqueId,c.m.id), c.m.numero.ToString(), c.m.votantes.ToString() }).Skip(iDisplayStart).Take(iDisplayLength).ToList(); return new JavaScriptSerializer().Serialize(dth); }
public string GetAllCentrosPaginate(int iDisplayStart, int iDisplayLength, int sEcho, int iSortCol_0, string sSortDir_0, string sSearch) { var dth = new DataTableHelper(); var db = new edayRoomEntities(); var centros = from c in db.Centroes orderby c.Nombre select c; dth.iTotalRecords = centros.Count(); #region Filtros sSearch = sSearch.ToLower(); if (!string.IsNullOrWhiteSpace(sSearch)) { centros = centros.Where(c => c.unique_id.ToLower().Contains(sSearch) || c.Nombre.ToLower().Contains(sSearch) || c.unidadGeografica1.ToLower().Contains(sSearch) || c.unidadGeografica2.ToLower().Contains(sSearch) || c.unidadGeografica3.ToLower().Contains(sSearch) || c.unidadGeografica4.ToLower().Contains(sSearch) || c.unidadGeografica5.ToLower().Contains(sSearch) || c.unidadGeografica6.ToLower().Contains(sSearch) || c.unidadGeografica7.ToLower().Contains(sSearch) || c.unidadGeografica8.ToLower().Contains(sSearch)).OrderBy(c=>c.Nombre); } #endregion dth.iTotalDisplayRecords = centros.Count(); #region Sorting de registros switch (sSortDir_0) { case "asc": switch (iSortCol_0) { case 0: centros = centros.OrderBy(i => i.unique_id); break; case 1: centros = centros.OrderBy(i => i.Nombre); break; case 2: centros = centros.OrderBy(i => i.unidadGeografica1) .ThenBy(i => i.unidadGeografica2) .ThenBy(i => i.unidadGeografica3) .ThenBy(i => i.unidadGeografica4) .ThenBy(i => i.unidadGeografica5) .ThenBy(i => i.unidadGeografica6) .ThenBy(i => i.unidadGeografica7) .ThenBy(i => i.unidadGeografica8); break; //case 3: // centros = centros.OrderBy(i => i.m.uniqueId); // break; //case 4: // centros = centros.OrderBy(i => i.m.votantes); // break; //case 5: // centros = centros.OrderBy(i => i.t1.nombre); // break; //case 6: // centros = centros.OrderBy(i => i.t2.nombre); // break; } break; case "desc": switch (iSortCol_0) { case 0: centros = centros.OrderByDescending(i => i.unique_id); break; case 1: centros = centros.OrderByDescending(i => i.Nombre); break; case 2: centros = centros.OrderByDescending(i => i.unidadGeografica1) .ThenByDescending(i => i.unidadGeografica2) .ThenByDescending(i => i.unidadGeografica3) .ThenByDescending(i => i.unidadGeografica4) .ThenByDescending(i => i.unidadGeografica5) .ThenByDescending(i => i.unidadGeografica6) .ThenByDescending(i => i.unidadGeografica7) .ThenByDescending(i => i.unidadGeografica8); break; //case 3: // centros = centros.OrderByDescending(i => i.m.uniqueId); // break; //case 4: // centros = centros.OrderByDescending(i => i.m.votantes); // break; //case 5: // centros = centros.OrderByDescending(i => i.t1.nombre); // break; //case 6: // centros = centros.OrderByDescending(i => i.t2.nombre); // break; } break; } #endregion dth.sEcho = sEcho; var centroList = centros.ToList(); dth.aaData = centroList.Select(c => new List<string> { c.unique_id, string.Format("<a href='/Centros/Edit/{1}' target='_blank'>{0}</a>",c.Nombre,c.id), (c.unidadGeografica1 ?? "") + " " + (c.unidadGeografica2 ?? "") + " " + (c.unidadGeografica3 ?? "") + " " + (c.unidadGeografica4 ?? "") + " " + (c.unidadGeografica5 ?? "") + " " + (c.unidadGeografica6 ?? "") + " " + (c.unidadGeografica7 ?? "") + " " + (c.unidadGeografica8 ?? "") }).Skip(iDisplayStart).Take(iDisplayLength).ToList(); return new JavaScriptSerializer().Serialize(dth); }
public string GetAllCandidatos(int iDisplayStart, int iDisplayLength, int sEcho, int iSortCol_0, string sSortDir_0, string sSearch) { var dth = new DataTableHelper(); var db = new edayRoomEntities(); IQueryable<RelacionCandidatoPartidoCoalicion> candidatos = from c in db.RelacionCandidatoPartidoCoalicions select c; dth.iTotalRecords = candidatos.Count(); if (!string.IsNullOrEmpty(sSearch)) { candidatos = candidatos.Where(c => c.Candidato.nombre.ToLower().Contains(sSearch.ToLower())); } dth.iTotalDisplayRecords = candidatos.Count(); #region ORDER ALERTAS switch (sSortDir_0) { case "asc": switch (iSortCol_0) { case 0: case 3: candidatos = candidatos.OrderBy(c => c.Candidato.nombre); break; case 1: candidatos = candidatos.OrderBy(c => c.Coalicion.nombre); break; case 2: candidatos = candidatos.OrderBy(c => c.Partido.nombre); break; } break; case "desc": switch (iSortCol_0) { case 0: case 3: candidatos = candidatos.OrderByDescending(c => c.Candidato.nombre); break; case 1: candidatos = candidatos.OrderByDescending(c => c.Coalicion.nombre); break; case 2: candidatos = candidatos.OrderByDescending(c => c.Partido.nombre); break; } break; } #endregion dth.sEcho = sEcho; var clist = candidatos.Select(c => new { c.id, candidato = c.Candidato.nombre, color = c.Candidato.color, partido = c.Partido.nombre, colorpartido = c.Partido.color, coalicion = c.Coalicion.nombre, colorcoalicion = c.Coalicion.color }).Skip(iDisplayStart).Take(iDisplayLength).ToList(); dth.aaData = new List<List<string>>(); foreach (var l in clist.Select(c => new List<string> { (string.IsNullOrEmpty(c.color)?"":"<div class='swatch' style='background-color:#"+c.color+"'></div>") + c.candidato.Trim() , (string.IsNullOrEmpty(c.colorcoalicion)?"":"<div class='swatch' style='background-color:#"+c.colorcoalicion+"'></div>")+c.coalicion, (string.IsNullOrEmpty(c.colorpartido)?"":"<div class='swatch' style='background-color:#"+c.colorpartido+"'></div>") + c.partido, string.Format( "<div class='mws-ic-16 ic-edit editCandidato tableIcon16 clickable' candidato-id='{0}' style='float:left;'></div><div class='mws-ic-16 ic-trash deleteCandidato tableIcon16 clickable' candidato-id='{0}' style='float:left; margin-left: 10px;'></div>", c.id) }) ) { dth.aaData.Add(l); } return new JavaScriptSerializer().Serialize(dth); }
public string GetTableAlertas(int iDisplayStart, int iDisplayLength, int sEcho, int iSortCol_0, string sSortDir_0, string sSearch, string modulo, bool quickCountOnly) { var dth = new DataTableHelper(); //TODO: Optimizar esta consulta var alertas = GetUserAlertas(); if (!string.IsNullOrEmpty(sSearch)) { alertas = alertas.Where(a => a.name.ToLower().Contains(sSearch.ToLower()) || a.modulo.ToLower().Contains(sSearch.ToLower()) || a.centro.ToLower().Contains(sSearch.ToLower()) || a.estado.ToLower().Contains(sSearch.ToLower()) || a.municipio.ToLower().Contains(sSearch.ToLower()) || a.parroquia.ToLower().Contains(sSearch.ToLower()) || a.nombreUsuario.ToLower().Contains(sSearch.ToLower()) ); } if(quickCountOnly) { alertas = alertas.Where(a => a.quickCount); } if(!string.IsNullOrEmpty(modulo)) { switch(modulo) { case "participacion": alertas = alertas.Where(a=>a.modulo == "Participación"); break; case "movilizacion": alertas = alertas.Where(a=>a.modulo == "Movilización"); break; case "quickcount": alertas = alertas.Where(a => a.modulo == "Conteo Rapido"); break; case "totalizacion": alertas = alertas.Where(a=>a.modulo == "Totalización"); break; case "exitpoll": alertas = alertas.Where(a => a.modulo == "Exit Poll"); break; } } //TODO: Arreglar el timeout que da este count dth.iTotalRecords = 10000;// alertas.Count(); dth.iTotalDisplayRecords = dth.iTotalRecords; dth.sEcho = sEcho; var clist = alertas.Select(c => c).OrderBy(c=>c.fecha).Skip(iDisplayStart).Take(iDisplayLength).ToList(); dth.aaData = new List<List<string>>(); foreach (var l in clist.Select(c => new List<string> { string.Format( "<a href='/Alertas/DetailAlerta?idAlerta={0}&modulo={2}' alerta-id='{0}' " + "class='alerta-link'>{1}</a>", c.id, c.centro, c.modulo), c.unique_id, c.mesa == -1 ? "-" : c.mesa.ToString(CultureInfo.InvariantCulture), c.modulo, c.name, c.estado,c.municipio,c.parroquia, c.fecha.ToString("yyyy/MM/dd @ HH:mm"), // c.active? "Si":"No", c.nombreUsuario })) { dth.aaData.Add(l); } return new JavaScriptSerializer().Serialize(dth); }
public string GetAllAlertas(int iDisplayStart, int iDisplayLength, int sEcho, int iSortCol_0, string sSortDir_0, string sSearch) { var dth = new DataTableHelper(); var db = new edayRoomEntities(); IQueryable<Alerta> alertas = from a in db.Alertas select a; dth.iTotalRecords = alertas.Count(); if (!string.IsNullOrEmpty(sSearch)) { alertas = alertas.Where(a => a.name.ToLower().Contains(sSearch.ToLower())); } dth.iTotalDisplayRecords = alertas.Count(); #region ORDER ALERTAS switch (sSortDir_0) { case "asc": switch (iSortCol_0) { case 0: case 4: alertas = alertas.OrderBy(a => a.name); break; case 1: alertas = alertas.OrderBy(a => a.blocking); break; case 2: alertas = alertas.OrderBy(a => a.regresivo); break; case 3: alertas = alertas.OrderBy(a => a.tiempo); break; } break; case "desc": switch (iSortCol_0) { case 0: case 4: alertas = alertas.OrderByDescending(a => a.name); break; case 1: alertas = alertas.OrderByDescending(a => a.blocking); break; case 2: alertas = alertas.OrderByDescending(a => a.regresivo); break; case 3: alertas = alertas.OrderByDescending(a => a.tiempo); break; } break; } #endregion dth.sEcho = sEcho; var alist = alertas.Select(a => new { a.id, a.name, a.blocking, a.regresivo, a.tiempo, a.canceledBy, a.maxRepeats, triggerAlerta = a.AlertaAsociada == null ? null : a.AlertaAsociada.name }).Skip(iDisplayStart).Take(iDisplayLength).ToList(); dth.aaData = new List<List<string>>(); foreach (var l in alist.Select(a => new List<string> { a.name.Trim(), a.canceledBy, (a.blocking ? "<div class='mws-ic-16 ic-accept tableIcon16'></div>" : "<div class='mws-ic-16 ic-cross tableIcon16'></div>"), (a.regresivo ? "<div class='mws-ic-16 ic-accept tableIcon16'></div>" : "<div class='mws-ic-16 ic-cross tableIcon16'></div>"), a.tiempo.ToString(CultureInfo.InvariantCulture), a.maxRepeats + "", a.triggerAlerta ?? "NA", string.Format( "<div class='mws-ic-16 ic-edit editAlerta tableIcon16 clickable' alerta-id='{0}' style='float:left;'></div><div class='mws-ic-16 ic-trash deleteAlerta tableIcon16 clickable' alerta-id='{0}' style='float:left; margin-left: 10px;'></div>", a.id) }) ) { dth.aaData.Add(l); } return new JavaScriptSerializer().Serialize(dth); }