Ejemplo n.º 1
0
        public ActionResult Create([Bind(Include = "id,nome,TotalTimes")] Torneio torneio)
        {
            if (ModelState.IsValid)
            {
                db.Torneios.Add(torneio);
                db.SaveChanges();

                db.Torneios.Include(T => T.Times).Include(T => T.Jogos).Load();
                torneio.CriarJogos(db);

                return(RedirectToAction("Index"));
            }

            return(View(torneio));
        }
Ejemplo n.º 2
0
        public static bool DefinirJogos(Torneio torneio, TorneioContext db)
        {
            if (torneio.Times.Count != torneio.TotalTimes)
            {
                return(false);
            }
            else
            {
                var times = torneio.Times.ToList();

                for (int i = 1; i < torneio.TotalTimes; i++)
                {
                    Jogo novoJogo = new Jogo()
                    {
                        Nome = $"Jogo {i}"
                    };
                    if (i <= (torneio.TotalTimes / 2))
                    {
                        novoJogo.Time1 = times[i];
                        novoJogo.Time2 = times[i + (torneio.TotalTimes / 2)];
                    }
                    //TorneioContext db = new TorneioContext();
                    //db.Torneios.Find(torneio.Id).Jogos.Add(novoJogo);
                    torneio.Jogos.Add(novoJogo);
                    db.SaveChanges();
                }
                return(true);
            }
        }
Ejemplo n.º 3
0
        private void DefinirJogos(TorneioContext db, int numRodada)
        {
            int totalRodadas = Rodadas();

            if (numRodada < totalRodadas)
            {
                var times              = Times.ToList();
                var jogosRodadaAtual   = JogosPorRodada(numRodada);
                var jogosProximaRodada = JogosPorRodada(numRodada + 1);

                for (int i = 0; i < jogosProximaRodada.Count; i++)
                {
                    if (jogosRodadaAtual[i * 2].JogoEncerrado)
                    {
                        jogosProximaRodada[i].Time1 = times.Find(t => t.Id == jogosRodadaAtual[i * 2].IdTimeVencedor);
                    }
                    if (jogosRodadaAtual[(i * 2) + 1].JogoEncerrado)
                    {
                        jogosProximaRodada[i].Time2 = times.Find(t => t.Id == jogosRodadaAtual[(i * 2) + 1].IdTimeVencedor);
                    }
                }

                db.Entry(this).State = EntityState.Modified;
                db.SaveChanges();
            }
        }
Ejemplo n.º 4
0
        public void GerarResultados(TorneioContext db, int numRodada)
        {
            foreach (var jogo in JogosPorRodada(numRodada))
            {
                if (!jogo.JogoEncerrado)
                {
                    int gols1 = new Random().Next(0, 7);
                    int gols2 = new Random().Next(0, 7);

                    while (gols1 == gols2)
                    {
                        gols2 = new Random().Next(0, 7);
                    }

                    jogo.GolsTime1 = gols1;
                    jogo.GolsTime2 = gols2;
                    if (gols1 > gols2)
                    {
                        jogo.IdTimeVencedor = jogo.Time1.Id;
                    }
                    else
                    {
                        jogo.IdTimeVencedor = jogo.Time2.Id;
                    }
                    jogo.JogoEncerrado = true;

                    db.Entry(this).State = EntityState.Modified;
                    db.SaveChanges();
                }
            }

            DefinirJogos(db, numRodada);
        }
Ejemplo n.º 5
0
        public static void Initialize(TorneioContext contexto)
        {
            contexto.Database.EnsureCreated();

            if (contexto.Eventos.Any())
            {
                return;
            }

            var eventos = new Evento[]
            {
                new Evento {
                    Nome = "Evento teste 1"
                },
                new Evento {
                    Nome = "Evento teste 12"
                },
                new Evento {
                    Nome = "Evento teste 13"
                }
            };

            //foreach (Evento evento in eventos)
            //{
            //    EventoView ev = new EventoView();

            //    ev.Nome = evento.Nome;
            //    contexto.Add(ev);
            //}

            contexto.SaveChanges();
            contexto.Dispose();
        }
Ejemplo n.º 6
0
 public void Insert(Equipe equipe, TorneioContext context)
 {
     if (equipe != null)
     {
         context.Equipes.Add(equipe);
         context.SaveChanges();
     }
 }
Ejemplo n.º 7
0
 public void Insert(Desafio desafio, TorneioContext context)
 {
     if (desafio != null)
     {
         context.Desafios.Add(desafio);
         context.SaveChanges();
     }
 }
Ejemplo n.º 8
0
 public void Insert(Evento evento, TorneioContext context)
 {
     if (evento != null)
     {
         context.Eventos.Add(evento);
         context.SaveChanges();
     }
 }
Ejemplo n.º 9
0
        public ActionResult Create([Bind(Include = "Id,Nome,Torneio_id")] Time time, int idTorneio)
        {
            if (ModelState.IsValid)
            {
                var torneio = db.Torneios.Find(idTorneio);
                if (!torneio.TimesCompletos())
                {
                    torneio.Times.Add(time);
                    db.SaveChanges();
                    var parametro = new RouteValueDictionary();
                    parametro.Add("id", idTorneio);
                    return(RedirectToAction("Gerenciar", "Torneios", parametro));
                }
                else
                {
                    return(View("Máximo de times cadastrados"));
                }
            }

            return(View());
        }
Ejemplo n.º 10
0
        public void DefinirJogos(TorneioContext db)
        {
            if (Jogos.Count == TotalTimes - 1 && Times.Count == TotalTimes)
            {
                var times = Times.ToList();
                foreach (var jogo in Jogos)
                {
                    if (jogo.Rodada != 1)
                    {
                        break;
                    }

                    jogo.Time1 = times[0];
                    times.RemoveAt(0);
                    jogo.Time2 = times[0];
                    times.RemoveAt(0);
                }

                db.Entry(this).State = EntityState.Modified;
                db.SaveChanges();
            }
        }
Ejemplo n.º 11
0
        public bool CriarJogos(TorneioContext db)
        {
            if (Jogos.Count == 0)
            {
                List <int> jogosPorRodada = mapearJogosRodadas(TotalTimes);

                for (int i = 1; i < TotalTimes; i++)
                {
                    Jogo novoJogo = new Jogo()
                    {
                        Nome       = $"Jogo {i}",
                        NumeroJogo = i,
                        Rodada     = jogosPorRodada[i - 1]
                    };

                    Jogos.Add(novoJogo);
                    db.SaveChanges();
                }
                return(true);
            }

            return(false);
        }
Ejemplo n.º 12
0
 public void Update(TorneioContext context, Equipe equipe)
 {
     context.Equipes.Update(equipe);
     context.SaveChanges();
 }
Ejemplo n.º 13
0
 public void Update(TorneioContext context, Desafio desafio)
 {
     context.Desafios.Update(desafio);
     context.SaveChanges();
 }
Ejemplo n.º 14
0
 public int Save() => _database.SaveChanges();
Ejemplo n.º 15
0
 public void Atualizar(TorneioContext context, Evento evento)
 {
     context.Eventos.Update(evento);
     context.SaveChanges();
 }