示例#1
0
        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);
            }
       }
示例#2
0
        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();
            }
        }