/// <summary> /// Deprecated Method for adding a new object to the Participacions EntitySet. Consider using the .Add method of the associated ObjectSet<T> property instead. /// </summary> public void AddToParticipacions(Participacion participacion) { base.AddObject("Participacions", participacion); }
public string UpdateParticipacion(ParticipacionContact contacto, int valor, int cola = 0) { var db = new edayRoomEntities(); var user = db.users.Single(u => u.username == User.Identity.Name); //Reseteo los timelines var oldTimelines = (from pt in db.ParticipacionTimelines where pt.activa && pt.id_mesa == contacto.IdMesa select pt); foreach (var oldTimeline in oldTimelines) { oldTimeline.activa = false; } //Guardar valor en timeline var newDate = contacto.QuickCountActive ? DateTime.Now.AddMinutes(45) : DateTime.Now.AddMinutes(60); var newTimeline = new ParticipacionTimeline { id_mesa = contacto.IdMesa, fecha = newDate, activa = true }; db.ParticipacionTimelines.AddObject(newTimeline); var newParticipacion = new Participacion { fecha = DateTime.Now, hora = DateTime.Now.Hour, min10 = DateTime.Now.Minute/10, min30 = DateTime.Now.Minute/30, conteo = valor, id_mesa = contacto.IdMesa, id_testigo = contacto.IdTestigo, cola = cola, active = true, id_parent = null, id_user = user.id }; //Guardo los datos a nivel de mesa var mesa = db.Mesas.Single(m => m.id == contacto.IdMesa); mesa.participacion = valor; mesa.lastContact = DateTime.Now; mesa.nextContact = newDate; mesa.abierta = true; //Proyeccion de resutados a centro 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.lastParticipacionContact = DateTime.Now; centro.participacionContada = votosRegistrados; centro.participacionProyectada = proyeccionCentro; //Participacion oldParticipacion = db.Participacions.Single(p => p.id == contacto.LastParticipacionId); //oldParticipacion.active = false; db.Participacions.AddObject(newParticipacion); IQueryable<ParticipacionAlerta> alertas = from a in db.ParticipacionAlertas where a.activa && !a.Alerta.blocking && a.id_mesa == contacto.IdMesa select a; foreach (ParticipacionAlerta a in alertas) { a.activa = false; } db.SaveChanges(); return new JavaScriptSerializer().Serialize(""); }
/// <summary> /// Create a new Participacion object. /// </summary> /// <param name="id">Initial value of the id property.</param> /// <param name="id_mesa">Initial value of the id_mesa property.</param> /// <param name="conteo">Initial value of the conteo property.</param> /// <param name="fecha">Initial value of the fecha property.</param> /// <param name="cola">Initial value of the cola property.</param> /// <param name="active">Initial value of the active property.</param> /// <param name="hora">Initial value of the hora property.</param> /// <param name="min10">Initial value of the min10 property.</param> /// <param name="min30">Initial value of the min30 property.</param> public static Participacion CreateParticipacion(global::System.Int32 id, global::System.Int32 id_mesa, global::System.Int32 conteo, global::System.DateTime fecha, global::System.Int32 cola, global::System.Boolean active, global::System.Int32 hora, global::System.Int32 min10, global::System.Int32 min30) { Participacion participacion = new Participacion(); participacion.id = id; participacion.id_mesa = id_mesa; participacion.conteo = conteo; participacion.fecha = fecha; participacion.cola = cola; participacion.active = active; participacion.hora = hora; participacion.min10 = min10; participacion.min30 = min30; return participacion; }