Пример #1
0
 /// <summary>
 /// Deprecated Method for adding a new object to the Participacions EntitySet. Consider using the .Add method of the associated ObjectSet&lt;T&gt; property instead.
 /// </summary>
 public void AddToParticipacions(Participacion participacion)
 {
     base.AddObject("Participacions", participacion);
 }
Пример #2
0
        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("");
        }
Пример #3
0
 /// <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;
 }