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 DeleteAlerta(int id) { var db = new edayRoomEntities(); Alerta alerta = (from a in db.Alertas where a.id == id select a).SingleOrDefault(); if (alerta != null) { db.Alertas.DeleteObject(alerta); } db.SaveChanges(); return("Deleted"); }
public string InitializeTimelinesTotalizacion() { var db = new edayRoomEntities(); db.ClearTotalizacion(); var mesas = db.Mesas.Include("Testigoes").ToList(); var centros = db.Centroes.Include("Movilizadors").Include("TestigoExitPolls").ToList(); var tlTotalizacion = new List <TotalizacionTimeline>(); foreach (var m in mesas) { tlTotalizacion.Add(new TotalizacionTimeline { activa = true, id_mesa = m.id, fecha = DateTime.Now }); } using ( var con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConnSimple"].ConnectionString) ) { con.Open(); #region Totalizacion Timeline using (var tran = con.BeginTransaction()) { var bc = new SqlBulkCopy(con, SqlBulkCopyOptions.CheckConstraints | SqlBulkCopyOptions.FireTriggers | SqlBulkCopyOptions.KeepNulls, tran) { BatchSize = 1000, DestinationTableName = "totalizacionTimeline" }; bc.WriteToServer(tlTotalizacion.AsDataReader()); tran.Commit(); } #endregion con.Close(); } return("todo inicializado, bien"); }
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 ActionResult GetChartData(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 data = db.GetTotalizacion(null, null, tag1Filter, tag2Filter, estadosFilter, municipiosFilter, true, null).ToList(); var totalVotos = (int)data.Sum(d => d.votos ?? 1); var totalProyecciones = (int)data.Sum(d => d.proyeccion ?? 1); var candidatos = data.Select(d => new CandidatoCountChart { Nombre = d.nombre, Votos = d.votos ?? 1, Proyeccion = d.proyeccion ?? 1, Color = d.color, PorcentajeVotos = (float)Math.Round((d.votos ?? 1.0) * 100 / (totalVotos == 0 ? 1 : totalVotos), 2), PorcentajeProyeccion = (float)Math.Round((d.proyeccion ?? 1.0) * 100 / (totalProyecciones == 0 ? 1 : totalProyecciones), 2) }).ToList(); return(Json(candidatos, JsonRequestBehavior.AllowGet)); //var db = new edayRoomEntities(); //IQueryable<Totalizacion> tots = db.Totalizacions.Where(t => t.QuickCountTimelines.Any()); //IOrderedQueryable<RelacionCandidatoPartidoCoalicion> rel = // db.RelacionCandidatoPartidoCoalicions.OrderBy(r => r.Candidato.nombre + r.Partido.nombre); //var candidatos = new List<CandidatoCountChart>(); //foreach (RelacionCandidatoPartidoCoalicion r in rel) //{ // IQueryable<Totalizacion> candidatoTots = tots.Where(t => t.id_candidato == r.id); // IQueryable<IGrouping<int, Totalizacion>> groupbyMesa = candidatoTots.GroupBy(t => t.id_mesa); // int votos = groupbyMesa.Sum(t => t.Max(m => m.valor)); // var candidato = new CandidatoCountChart // { // Nombre = r.Candidato.nombre, // Votos = votos // }; // candidatos.Add(candidato); //} //return Json(candidatos, JsonRequestBehavior.AllowGet); //CandidatoCountChart }
public string CancelarAlertaMovilizacion(MovilizacionContact contacto, string mensaje) { var db = new edayRoomEntities(); var centro = db.Centroes.Single(c => c.id == contacto.IdCentro); var alerta = (from a in db.MovilizacionAlertas where a.id == contacto.BlockingAlert.Id select a).Single(); centro.alertBlocked = false; centro.blockingAlertId = null; alerta.activa = false; db.SaveChanges(); return(new JavaScriptSerializer().Serialize("")); }
public string UpdateSingleQuickCount(int totalizacionId, int value) { var db = new edayRoomEntities(); Totalizacion totalizacion = (from t in db.Totalizacions where t.ID == totalizacionId select t).Single(); totalizacion.valor = value; db.SaveChanges(); MatrizDeSustitucion.UpdateMatriz(totalizacion.Mesa.Centro.id); return(new JavaScriptSerializer().Serialize("")); }
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 UpdateLastMovilizacion(MovilizacionContact contacto, int valor, int cola = 0) { var db = new edayRoomEntities(); Movilizacion oldMovilizacion = (from pt in db.Movilizacions where pt.id == contacto.LastMovilizacionId select pt).SingleOrDefault(); if (oldMovilizacion != null) { oldMovilizacion.conteo = valor; db.SaveChanges(); } return(new JavaScriptSerializer().Serialize("")); }
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 string GetCandidatos() { var db = new edayRoomEntities(); var candidatos = db.RelacionCandidatoPartidoCoalicions.Select(c => new { c.id, c.Candidato.nombre, partido = c.Partido.nombre, coalicion = c.Coalicion.nombre, value = 0, c.orden }).OrderBy(c => c.orden); return(new JavaScriptSerializer().Serialize(candidatos)); }
public ActionResult AdminCentro(int idCentro) { var db = new edayRoomEntities(); Centro centro = (from c in db.Centroes where c.id == idCentro select c).Single(); IOrderedQueryable <ExitPollTimeline> timelines = db.ExitPollTimelines.Where(ep => ep.id_centro == idCentro && ep.ExitPolls.Any()).OrderByDescending( ep => ep.fecha); ViewData["timelines"] = timelines.ToList(); ViewData["candidatos"] = db.Candidatoes.OrderBy(c => c.nombre).ToList(); ViewData["centro"] = centro; return(View("AdminCentro")); }
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 bool Save() { using (var db = new edayRoomEntities()) { bool returnValue = true; Mesa mesa = (from m in db.Mesas where m.id_centro == IdCentro && m.uniqueId == UniqueId select m).SingleOrDefault(); if (mesa == null) { mesa = new Mesa { id_centro = IdCentro, numero = Numero, uniqueId = UniqueId, votantes = Votantes }; db.Mesas.AddObject(mesa); mesa.ParticipacionTimelines.Add(new ParticipacionTimeline { activa = true, fecha = DateTime.Now, }); mesa.Participacions.Add(new Participacion { conteo = 0, active = true, cola = 0, fecha = DateTime.Now, id_testigo = null }); db.SaveChanges(); } else { returnValue = false; } Id = mesa.id; return(returnValue); } }
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 GetCandidatos(int centroId) { var db = new edayRoomEntities(); IQueryable <CandidatoValue> candidato = from c in db.Candidatoes let ep = c.ExitPolls.Where(ep => ep.id_centro == centroId).OrderByDescending(ep => ep.fecha).FirstOrDefault() select new CandidatoValue { CandidatoId = c.id, Fecha = ep == null ? DateTime.MinValue : ep.fecha, Nombre = c.nombre, TimelineId = ep == null ? 0 : ep.id_timeline, Valor = ep == null ? 0 : ep.valor }; return(new JavaScriptSerializer().Serialize(candidato)); }
public ActionResult GetQuickCountPorMuestras() { var db = new edayRoomEntities(); var results = new List <KeyValuePair <string, List <GetTotalizacion_Result1> > >(); var avances = new List <KeyValuePair <string, GetMetricasQuickCount_Result> >(); foreach (var m in db.MuestrasQuickCounts) { string val = m.value; var avance = db.GetMetricasQuickCount(val).First(); avances.Add(new KeyValuePair <string, GetMetricasQuickCount_Result>(val, avance)); var data = db.GetTotalizacion(null, null, null, null, null, null, true, val).ToList(); results.Add(new KeyValuePair <string, List <GetTotalizacion_Result1> >(val, data)); } return(Json(new{ results, avances }, JsonRequestBehavior.AllowGet)); }
public string GetCandidato(int id) { var db = new edayRoomEntities(); var candidato = (from c in db.RelacionCandidatoPartidoCoalicions where c.id == id select new { c.id, c.Candidato.nombre, c.Candidato.color, partido = c.Partido.nombre, colorpartido = c.Partido.color, coalicion = c.Coalicion.nombre, colorcoalicion = c.Coalicion.color }).SingleOrDefault(); return(new JavaScriptSerializer().Serialize(candidato)); }
public bool Save() { using (var db = new edayRoomEntities()) { var testigo = new Testigo { id_mesa = IdMesa, nombre = Nombre, numero = Numero, activo = Activo }; db.Testigoes.AddObject(testigo); db.SaveChanges(); Id = testigo.id; return(true); } }
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 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 string UpdateTotalizacion(TotalizacionContact contacto, CandidatoValueIncoming[] valores) { var db = new edayRoomEntities(); TotalizacionTimeline oldTimeline = (from pt in db.TotalizacionTimelines where pt.id == contacto.TotalizacionTimelineId select pt).Single(); oldTimeline.activa = false; db.SaveChanges(); foreach (CandidatoValueIncoming v in valores) { var ep = new Totalizacion { id_candidato = int.Parse(v.name.Replace("candidato-", "")), id_mesa = contacto.MesaId, valor = v.value }; db.Totalizacions.AddObject(ep); ep.TotalizacionTimelines.Add(oldTimeline); } IQueryable <TotalizacionAlerta> alertas = from a in db.TotalizacionAlertas where a.activa && !a.Alerta.blocking && a.id_mesa == contacto.MesaId select a; foreach (TotalizacionAlerta a in alertas) { a.activa = false; } var centro = db.Centroes.Single(c => c.id == contacto.CentroId); centro.totalizado = true; db.SaveChanges(); //MatrizDeSustitucion.UpdateMatriz(contacto.CentroId); return(new JavaScriptSerializer().Serialize("")); }
public string CancelarAlertaParticipacion(ParticipacionContact contacto, string mensaje) { var db = new edayRoomEntities(); var mesa = db.Mesas.Single(m => m.id == contacto.IdMesa); var alerta = (from a in db.ParticipacionAlertas where a.Alerta.id == mesa.blockingAlertId && a.activa select a).Single(); mesa.alertBlocked = false; mesa.blockingAlertId = null; alerta.activa = false; alerta.comentario = string.Format("<li> <b>{1}</b> - {0} </li>", "Alerta Cancelada", DateTime.Now.ToString("HH:mm")) + alerta.comentario; db.SaveChanges(); return(new JavaScriptSerializer().Serialize("success")); }
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 string GetAlertas() { var db = new edayRoomEntities(); var alertas = from a in db.Alertas orderby a.name select new { a.id, a.name, a.blocking, a.regresivo, a.tiempo, a.canceledBy, a.maxRepeats, a.asocAlerta }; return(new JavaScriptSerializer().Serialize(alertas)); }
public string GetAlerta(int id) { var db = new edayRoomEntities(); var alerta = (from a in db.Alertas where a.id == id select new { a.id, a.name, a.blocking, a.regresivo, a.tiempo, a.canceledBy, a.maxRepeats, a.asocAlerta }).SingleOrDefault(); return(new JavaScriptSerializer().Serialize(alerta)); }
public string TogglePauseUser(int userId) { var db = new edayRoomEntities(); var user = db.users.Single(u => u.id == userId); user.paused = !user.paused; if (user.paused) { var usersInGroup = db.users.Where(u => u.exitpolls && u.grupo == user.grupo && u.id != user.id && !u.paused).ToList (); var groupCount = usersInGroup.Count; var assignedExitPoll = db.AsignacionExitPolls.Where(ap => ap.id_user == user.id).ToList(); var roundRobin = 0; foreach (var ap in assignedExitPoll) { db.AsignacionExitPolls.AddObject(new AsignacionExitPoll { id_centro = ap.id_centro, id_original_user = ap.id_original_user ?? user.id, isReplacement = true, id_user = usersInGroup[roundRobin % groupCount].id }); roundRobin++; } } else { var assignedExitPoll = db.AsignacionExitPolls.Where(ap => ap.id_original_user == user.id && ap.isReplacement).ToList(); foreach (var ap in assignedExitPoll) { db.AsignacionExitPolls.DeleteObject(ap); } } db.SaveChanges(); return(user.paused.ToString(CultureInfo.InvariantCulture)); }
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 JsonResult GetCandidatos() { var db = new edayRoomEntities(); var partidos = from p in db.Partidoes orderby p.nombre select new { p.id, p.nombre, p.color }; var coaliciones = from c in db.Coalicions orderby c.nombre select new { c.id, c.nombre, c.color }; var candidato = from c in db.Candidatoes orderby c.nombre select new { c.id, c.nombre, c.color }; return(Json(new { candidato, partidos, coaliciones }, JsonRequestBehavior.AllowGet)); }
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 })); }