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)); }