public string UpdateSingleExitPoll(int exitpollId, CandidatoValueIncoming[] valores) { var db = new edayRoomEntities(); ExitPollTimeline oldTimeline = (from pt in db.ExitPollTimelines where pt.id == exitpollId select pt).Single(); db.SaveChanges(); foreach (CandidatoValueIncoming v in valores) { int idCandidato = int.Parse(v.name.Replace("candidato-", "")); int valor = v.value; ExitPoll ep = oldTimeline.ExitPolls.Single(e => e.id_candidato == idCandidato); ep.valor = valor; } db.SaveChanges(); return(new JavaScriptSerializer().Serialize("")); }
public string UpdateExitPoll(ExitPollContact contacto, CandidatoValueIncoming[] valores) { var db = new edayRoomEntities(); var user = db.users.Single(u => u.username == User.Identity.Name); ExitPollTimeline oldTimeline = (from pt in db.ExitPollTimelines where pt.id == contacto.ExitPollTimelineId select pt).Single(); oldTimeline.activa = false; db.SaveChanges(); DateTime newDate = contacto.QuickCountActive ? DateTime.Now.AddMinutes(45) : DateTime.Now.AddMinutes(60); var newTimeline = new ExitPollTimeline { id_centro = contacto.CentroId, fecha = newDate, id_testigoExitPoll = contacto.IdTestigo, activa = true, id_parent = oldTimeline.id }; db.ExitPollTimelines.AddObject(newTimeline); db.SaveChanges(); foreach (CandidatoValueIncoming v in valores) { var ep = new ExitPoll { id_candidato = int.Parse(v.name.Replace("candidato-", "")), id_centro = contacto.CentroId, id_testigoExitPoll = contacto.IdTestigo, id_timeline = newTimeline.id, valor = v.value, fecha = DateTime.Now, id_user = user.id }; db.ExitPolls.AddObject(ep); } IQueryable <ExitPollAlerta> alertas = from a in db.ExitPollAlertas where a.activa && !a.Alerta.blocking && a.id_centro == contacto.CentroId select a; foreach (ExitPollAlerta a in alertas) { a.activa = false; } db.SaveChanges(); //var newContacto = ExitPollsContact.GetExitPollsContact(contacto.IdTestigo); return(new JavaScriptSerializer().Serialize(contacto)); }
public string CerrarMesa(ParticipacionContact contacto) { var db = new edayRoomEntities(); var mesa = db.Mesas.Single(m => m.id == contacto.IdMesa); mesa.abierta = false; mesa.cerrada = true; db.SaveChanges(); return(new JavaScriptSerializer().Serialize(db.SaveChanges())); }
public string UpdateQuickCount(TotalizacionContact contacto, CandidatoValueIncoming[] valores) { var db = new edayRoomEntities(); var user = db.users.Single(u => u.username == User.Identity.Name); QuickCountTimeline oldTimeline = (from pt in db.QuickCountTimelines where pt.id == contacto.TotalizacionTimelineId select pt).Single(); oldTimeline.activa = false; db.SaveChanges(); IQueryable <Totalizacion> totalizaciones = db.Totalizacions.Where(t => t.id_mesa == contacto.MesaId); foreach (CandidatoValueIncoming v in valores) { int idCandidato = int.Parse(v.name.Replace("candidato-", "")); Totalizacion totalizacion = totalizaciones.SingleOrDefault(t => t.id_candidato == idCandidato); if (totalizacion == null) { totalizacion = new Totalizacion { id_candidato = idCandidato, id_mesa = contacto.MesaId, valor = v.value, id_user = user.id }; db.Totalizacions.AddObject(totalizacion); } totalizacion.QuickCountTimelines.Add(oldTimeline); } var centro = db.Centroes.Single(c => c.id == contacto.CentroId); centro.totalizado = true; IQueryable <QuickCountAlerta> alertas = from a in db.QuickCountAlertas where a.activa && !a.Alerta.blocking && a.id_centro == contacto.CentroId select a; foreach (QuickCountAlerta a in alertas) { a.activa = false; } //contacto.CentroId db.SaveChanges(); MatrizDeSustitucion.UpdateMatriz(contacto.CentroId); return(new JavaScriptSerializer().Serialize("")); }
public string UpdateSingleParticipacion(int participacionId, int valor, int cola) { using (var db = new edayRoomEntities()) { Participacion participacion = db.Participacions.SingleOrDefault(p => p.id == participacionId); if (participacion != null) { var mesa = participacion.Mesa; mesa.participacion = mesa.participacion == participacion.conteo ? valor : Math.Max(mesa.participacion, valor); participacion.conteo = valor; participacion.cola = cola; var centro = mesa.Centro; var mesasActivas = centro.Mesas1.Where(m => m.participacion != 0).ToArray(); var votosRegistrados = mesasActivas.Sum(m => m.participacion); var votantesEnMesa = mesasActivas.Sum(m => m.votantes); var proyeccionCentro = centro.votantes * votosRegistrados / votantesEnMesa; centro.participacionContada = votosRegistrados; centro.participacionProyectada = proyeccionCentro; } db.SaveChanges(); 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 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 string ActualizarAlertaMovilizacion(MovilizacionContact contacto, string mensaje) { var db = new edayRoomEntities(); var user = db.users.Single(u => u.username == User.Identity.Name); MovilizacionAlerta alerta = (from a in db.MovilizacionAlertas where a.id == contacto.BlockingAlert.Id select a).Single(); if (!string.IsNullOrWhiteSpace(mensaje)) { var alertMessage = new MovilizacionAlertaMessage { fecha = DateTime.Now, mensaje = mensaje, id_usuario = user.id }; alerta.MovilizacionAlertaMessages.Add(alertMessage); } db.SaveChanges(); IQueryable <MovilizacionContactAlertMessage> mensajesAlerta = (from a in alerta.MovilizacionAlertaMessages orderby a.fecha descending select new MovilizacionContactAlertMessage { Id = a.id, Fecha = a.fecha, Message = a.mensaje }).AsQueryable(); return(new JavaScriptSerializer().Serialize("")); }
public string CrearAlerta(Alerta alerta) { var db = new edayRoomEntities(); db.Alertas.AddObject(alerta); db.SaveChanges(); return(new JavaScriptSerializer().Serialize("")); }
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 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 CancelarAlertaQuickCount(TotalizacionContact contacto, string mensaje) { var db = new edayRoomEntities(); QuickCountAlerta alerta = (from a in db.QuickCountAlertas where a.id == contacto.BlockingAlert.Id select a).Single(); alerta.activa = false; db.SaveChanges(); return(new JavaScriptSerializer().Serialize("")); }
public string EditAlerta(Alerta alerta) { if (ModelState.IsValid) { var db = new edayRoomEntities(); db.Alertas.Attach(alerta); db.ObjectStateManager.ChangeObjectState(alerta, EntityState.Modified); db.SaveChanges(); } return(""); }
public string UpdateSingleMovilizacion(int movilizacionId, int valor) { using (var db = new edayRoomEntities()) { var movilizacion = db.Movilizacions.SingleOrDefault(p => p.id == movilizacionId); if (movilizacion != null) { movilizacion.conteo = valor; } db.SaveChanges(); return(new JavaScriptSerializer().Serialize("")); } }
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 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 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 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 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 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 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 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 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 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 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 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 SetupUsers() { HttpPostedFileBase fileUpload = Request.Files[0]; var users = new List <EdayRoomUser>(); if (fileUpload != null) { fileUpload.SaveAs(Server.MapPath("~/temp/" + fileUpload.FileName)); var fi = new FileInfo(Server.MapPath("~/temp/" + fileUpload.FileName)); var fiOut = new FileInfo( Path.Combine( Server.MapPath(ConfigurationManager.AppSettings["userFilesDirectory"]), string.Format("{0}_" + fileUpload.FileName, DateTime.Now.ToString("yyyy_MM_dd_hh_mm_ss")))); var db = new edayRoomEntities(); List <string> existingUsers = (from u in db.users select u.username).ToList(); var package = new ExcelPackage(fi); ExcelWorksheet worksheet = package.Workbook.Worksheets[1]; worksheet.Cells[1, 3].Value = "usuario"; worksheet.Cells[1, 4].Value = "password"; for (int i = 2; i <= worksheet.Dimension.End.Row; i++) { var nombre = (string)worksheet.Cells[i, 1].Value; var apellido = (string)worksheet.Cells[i, 2].Value; var u = new EdayRoomUser { Name = nombre + " " + apellido, Password = PasswordManagement.GenerateRandomPassword(6), }; u.Username = u.Name.Replace(" ", ".").ToLower(); int uid = 1; if (existingUsers.Any(us => us == u.Username)) { string original = u.Username; while (true) { u.Username = original + "." + uid; if (existingUsers.All(us => us != u.Username)) { break; } uid++; } } existingUsers.Add(u.Username); worksheet.Cells[i, 3].Value = u.Username; worksheet.Cells[i, 4].Value = u.Password; users.Add(u); string salt = ""; string passwordHash = PasswordManagement.GeneratePasswordHash(u.Password, out salt); db.users.AddObject(new user { nombre = nombre, apellido = apellido, username = u.Username, salt = salt, hash = passwordHash }); } db.UserFiles.AddObject(new UserFile { fileName = fiOut.Name }); db.SaveChanges(); package.SaveAs(fiOut); } var errores = new List <string> { "error " + fileUpload.FileName }; return(GetAllUsers(errores, users)); }
public string AlertaMovilizacion(MovilizacionContact contacto, int valor, string mensaje) { var db = new edayRoomEntities(); var centro = db.Centroes.Single(c => c.id == contacto.IdCentro); var user = db.users.Single(u => u.username == User.Identity.Name); #region Registro la alerta var alerta = new MovilizacionAlerta { activa = true, fecha = DateTime.Now, id_centro = contacto.IdCentro, id_movilizador = contacto.IdTestigo, id_alerta = valor, id_usuario = user.id }; db.MovilizacionAlertas.AddObject(alerta); var messages = new List <MovilizacionAlertaMessage>(); if (!string.IsNullOrWhiteSpace(mensaje)) { var alertMessage = new MovilizacionAlertaMessage { fecha = DateTime.Now, mensaje = mensaje, id_usuario = user.id }; alerta.MovilizacionAlertaMessages.Add(alertMessage); messages.Add(alertMessage); } #endregion #region Retraso de Timeline Alerta objetoAlerta = db.Alertas.Single(a => a.id == valor); if (objetoAlerta.blocking) { centro.alertBlocked = true; centro.blockingAlertId = objetoAlerta.id; } if (objetoAlerta.regresivo) { //MovilizacionTimeline oldTimeline = // (from pt in db.MovilizacionTimelines where // pt.id == contacto.MovilizacionTimelineId select pt). // Single(); //oldTimeline.activa = false; //Cancelo todos los timelines activos y resolvemos este peo var oldTimelines = (from pt in db.MovilizacionTimelines where pt.activa && pt.id_centro == contacto.IdCentro //pt.id == contacto.MovilizacionTimelineId select pt); foreach (var oldTimeline in oldTimelines) { oldTimeline.activa = false; } DateTime newDate = DateTime.Now.AddMinutes(objetoAlerta.tiempo); var newTimeline = new MovilizacionTimeline { id_centro = contacto.IdCentro, fecha = newDate, activa = true }; db.MovilizacionTimelines.AddObject(newTimeline); } #endregion db.SaveChanges(); // VERIFICAR SI HAY QUE HACER TRIGGER DE ALGUNA ALERTA IQueryable <MovilizacionAlerta> existingAlerts = from a in db.MovilizacionAlertas where a.id_centro == contacto.IdCentro && a.id_alerta == valor && a.activa select a; var alertCount = existingAlerts.Count(); var maxRepeats = existingAlerts.First().Alerta.maxRepeats ?? 0; if (maxRepeats != 0) { if (alertCount == maxRepeats) { //LLEGUE AL LIMITE, hago el trigger de la alerta var newAlerta = existingAlerts.First().Alerta.AlertaAsociada; var alertaAuto = new MovilizacionAlerta { activa = true, fecha = DateTime.Now, id_centro = contacto.IdCentro, id_movilizador = contacto.IdTestigo, id_alerta = newAlerta.id, id_usuario = user.id }; db.MovilizacionAlertas.AddObject(alertaAuto); if (newAlerta.blocking) { centro.alertBlocked = true; centro.blockingAlertId = newAlerta.id; } var alertMessage = new MovilizacionAlertaMessage { fecha = DateTime.Now, mensaje = "Alerta generada por sistema", id_usuario = user.id }; alertaAuto.MovilizacionAlertaMessages.Add(alertMessage); } } db.SaveChanges(); return(new JavaScriptSerializer().Serialize("")); }
public string UpdateMovilizacion(MovilizacionContact contacto, int valor, int cola = 0) { var db = new edayRoomEntities(); var user = db.users.Single(u => u.username == User.Identity.Name); //Reseteo los timelines activos var oldTimelines = (from pt in db.MovilizacionTimelines where pt.activa && pt.id_centro == contacto.IdCentro select pt); foreach (var oldTimeline in oldTimelines) { oldTimeline.activa = false; } var newDate = contacto.QuickCountActive ? DateTime.Now.AddMinutes(45) : DateTime.Now.AddMinutes(60); //Actualizo los timelines var newTimeline = new MovilizacionTimeline { id_centro = contacto.IdCentro, fecha = newDate, activa = true }; db.MovilizacionTimelines.AddObject(newTimeline); var newMovilizacion = new Movilizacion { fecha = DateTime.Now, hora = DateTime.Now.Hour, min10 = DateTime.Now.Minute / 10, min30 = DateTime.Now.Minute / 30, conteo = valor, id_centro = contacto.IdCentro, id_movilizador = contacto.IdTestigo, active = true, id_parent = contacto.LastMovilizacionId, id_user = user.id }; //Actualizo los datos a nivel de centro var centro = db.Centroes.Single(c => c.id == contacto.IdCentro); centro.movilizacionCount = valor; centro.lastMovilizacionContact = DateTime.Now; centro.nextMovilizacionContact = newDate; Movilizacion oldMovilizacion = db.Movilizacions.Single(p => p.id == contacto.LastMovilizacionId); oldMovilizacion.active = false; db.Movilizacions.AddObject(newMovilizacion); //Desactivo las alertas que esten pendientes en el centro var alertas = from a in db.MovilizacionAlertas where a.activa && !a.Alerta.blocking && a.id_centro == contacto.IdCentro select a; foreach (var a in alertas) { a.activa = false; } db.SaveChanges(); return(new JavaScriptSerializer().Serialize("")); }