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