コード例 #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
ファイル: Equipo.cs プロジェクト: Godinez365/webapp
 public static IEnumerable<ThinEquipo> Carga()
 {
     using (var db = new QuinielaDbContext())
     {
         return db.Equipos.Select(e => new ThinEquipo { EquipoId = e.EquipoId, Nombre = e.Nombre }).ToList();
     }
 }
コード例 #3
0
        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));
            }
        }
コード例 #4
0
 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);
 }
コード例 #5
0
        // 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);
        }
コード例 #6
0
 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();
     }
 }
コード例 #7
0
ファイル: HomeController.cs プロジェクト: Godinez365/webapp
        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;
            }
        }
コード例 #8
0
ファイル: QuinielasUpdater.cs プロジェクト: Godinez365/webapp
        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();
            }
        }