public ActionResult Agregar(PartidoViewModels model) { if (ModelState.IsValid) { if (model.EquipoLocalId != model.EquipoVisitanteId) { var db = new QuinielaDbContext(); Partido partido = new Partido(); partido.QuinielaId = model.QuinielaId; partido.EquipoVisitanteId = model.EquipoVisitanteId; partido.EquipoLocalId = model.EquipoLocalId; partido.HoraInicio = model.HoraInicio; partido.FechaEncuentro = model.FechaEncuentro; db.Partidos.Add(partido); db.SaveChanges(); return Json(true, JsonRequestBehavior.AllowGet); } else { return Content("Elija equipos diferentes"); } } else { return Json(false, JsonRequestBehavior.AllowGet); } }
public static IEnumerable<ThinEquipo> Carga() { using (var db = new QuinielaDbContext()) { return db.Equipos.Select(e => new ThinEquipo { EquipoId = e.EquipoId, Nombre = e.Nombre }).ToList(); } }
public void CastApuestas(int partidoId, string NombreAnotador = "Evento") { using (var db = new QuinielaDbContext()) { var partido = db.Partidos.Find(partidoId); var liveApuestas = new LiveApuestas { PartidoId = partido.PartidoId, GL = partido.GolesLocal, GV = partido.GolesVisitante, NombreAnotador = NombreAnotador, Apuestas = partido.Apuestas.Select(a => new LiveApuesta { ApuestaId = a.ApuestaId, Ganada = a.Ganada, Resultado = a.Resultado }), Aciertos = partido.Quiniela.QuinielasUsuarios.Select(qu => new LiveAcierto { QuinielaId = qu.QuinielaUsuarioId, Aciertos = qu.Aciertos }) }; Clients.Group($"room{partido.QuinielaId}").ApuestasUpdate(JsonConvert.SerializeObject(liveApuestas)); } }
public JsonResult UserNameExist(string userName) { var exist = false; using (var db = new QuinielaDbContext()) { if (db.Users.Find(User.Identity.GetUserId()).UserName == userName) exist = true; else exist = (db.Users.FirstOrDefault(u => u.UserName == userName) == null); } return Json(exist, JsonRequestBehavior.AllowGet); }
// GET: Partidos public ActionResult Index(int id) { PartidoViewModels partido = new PartidoViewModels(); partido.QuinielaId = id; var db = new QuinielaDbContext(); var ListaEquipos = db.Equipos.ToList(); ViewBag.QuinielaId = id; ViewBag.EquipoLocal = new SelectList(ListaEquipos, "EquipoId", "Nombre"); ViewBag.EquipoVisitante = new SelectList(ListaEquipos, "EquipoId", "Nombre"); return View(partido); }
private static LlenarQuinielaViewModel getLlenarQuiniela(int quinielaId, string userId) { using (var db = new QuinielaDbContext()) { return db.Quinielas.Where(q => q.QuinielaId == quinielaId).Select(q => new LlenarQuinielaViewModel { QuinielaId = q.QuinielaId, Fecha = q.Fecha, FechaCierre = q.FechaCierre, HoraCierre = q.HoraCierre, Nombre = q.Nombre, Apuestas = q.Partidos.Select(p => new ApuestasQuieniela { IdLocal = p.EquipoLocalId, IdVisitante = p.EquipoVisitanteId, PartidoId = p.PartidoId, UsuarioId = userId, LogoLocal = p.EquipoLocal.Logo.Bytes, LogoVisitante = p.EquipoVisitante.Logo.Bytes, NombreLocal = p.EquipoLocal.Nombre, NombreVisitante = p.EquipoVisitante.Nombre }).ToList() }).FirstOrDefault(); } }
private static IEnumerable<IGrouping<int, Ganador>> Ganadores() { using (var db = new QuinielaDbContext()) { IEnumerable<IGrouping<int, Ganador>> grupos; var quiniela = db.Quinielas .Where(q => q.Estado == Estados.Vencida) .OrderByDescending(q => q.QuinielaId) .Take(3) .Select(q => q.QuinielaId); if (quiniela == null) grupos = new List<IGrouping<int, Ganador>>(); grupos = db.QuinielasUsuarios.Where(qu => qu.Ganada).Join(quiniela, q => q.QuinielaId, qu => qu, (q, qu) => new Ganador { Aciertos = q.Aciertos, Fecha = q.Quiniela.Fecha, Quiniela = q.Quiniela.Nombre, Nombre = q.Usuario.Nombre, QuinielaId = qu }) .GroupBy(a => a.QuinielaId) .OrderByDescending(a => a.Key) .ToList(); return grupos; } }
public void UpdateQuiniela(LiveMatch liveMatch) { using (var db = new QuinielaDbContext()) { var partido = db.Partidos.Find(liveMatch.PartidoId); partido.GolesLocal += liveMatch.GolesLocal; partido.GolesVisitante += liveMatch.GolesVisitante; if (partido.GolesLocal == partido.GolesVisitante) partido.Resultado = Resultado.Empate; else if (partido.GolesLocal > partido.GolesVisitante) partido.Resultado = Resultado.Local; else partido.Resultado = Resultado.Visitante; foreach (var apuesta in partido.Apuestas) { switch (apuesta.Resultado) { case Resultado.Empate: switch (partido.Resultado) { case Resultado.Empate: apuesta.Ganada = true; break; default: apuesta.Ganada = false; break; } break; case Resultado.Local: switch (partido.Resultado) { case Resultado.Local: apuesta.Ganada = true; break; default: apuesta.Ganada = false; break; } break; case Resultado.Visitante: switch (partido.Resultado) { case Resultado.Visitante: apuesta.Ganada = true; break; default: apuesta.Ganada = false; break; } break; } } var quiniela = db.Quinielas.Find(partido.QuinielaId); foreach (var quinielaUsuario in quiniela.QuinielasUsuarios) { quinielaUsuario.Aciertos = 0; foreach (var match in quiniela.Partidos) { if (match.Apuestas.First(a => a.UsuarioId == quinielaUsuario.UsuarioId).Ganada) quinielaUsuario.Aciertos++; } } var max = quiniela.QuinielasUsuarios.Max(qu => qu.Aciertos); foreach (var quinielaUsuario in quiniela.QuinielasUsuarios) { if (quinielaUsuario.Aciertos == max) quinielaUsuario.Ganada = true; else quinielaUsuario.Ganada = false; } db.SaveChanges(); } }