Exemplo n.º 1
0
        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("");
        }
Exemplo n.º 2
0
        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("");
        }