Exemplo n.º 1
0
        public IActionResult SelecionarJogadores(int id)
        {
            var torneio = _context.Torneio.Include(t => t.Jogadores).SingleOrDefault(m => m.Id == id);

            if (torneio == null)
            {
                return(NotFound());
            }
            SelecionarUsuarioViewModel viewModel = new SelecionarUsuarioViewModel();
            List <int> jogadores = new List <int> ();

            if (torneio.Jogadores != null)
            {
                jogadores = torneio.Jogadores.Select(j => j.Id).ToList();
            }
            List <Jogador> listaJogadores = _context.Jogadores.ToList();

            for (int i = 0; i < listaJogadores.Count; i++)
            {
                if (listaJogadores[i] is JogadorPessoa)
                {
                    listaJogadores[i] = _context.JogadorPessoas.Include(j => j.Usuario).Where(j => j.Id == listaJogadores[i].Id).FirstOrDefault();
                }
            }
            ViewBag.Jogadores =
                new SelectList(listaJogadores,
                               nameof(Jogador.Id),
                               nameof(Jogador.Nome),
                               jogadores
                               );
            viewModel.JogadoresIds        = jogadores;
            viewModel.QuantidadeJogadores = torneio.QuantidadeJogadores;
            return(View(viewModel));
        }
Exemplo n.º 2
0
        public IActionResult SelecionarJogadores(int id)
        {
            var torneio = _context.Torneio.Include(t => t.Jogadores)
                          .SingleOrDefault(m => m.Id == id);

            if (torneio == null)
            {
                return(NotFound());
            }

            SelecionarUsuarioViewModel viewModel = new SelecionarUsuarioViewModel();

            List <int> jogadores = new List <int>();

            if (torneio.Jogadores != null)
            {
                jogadores = torneio.Jogadores.Select(j => j.Id).ToList();
            }
            ViewBag.Jogadores =
                new SelectList(_context.JogadorPessoas.Include(j => j.Usuario).ToList(),
                               nameof(JogadorPessoa.Id),
                               nameof(JogadorPessoa.Nome),
                               jogadores
                               );
            viewModel.JogadoresIds = jogadores;
            return(View(viewModel));
        }
Exemplo n.º 3
0
        public IActionResult SelecionarJogadores(
            int id,
            [Bind(nameof(SelecionarUsuarioViewModel.JogadoresIds))] SelecionarUsuarioViewModel viewModel)
        {
            var torneio = _context.Torneio.SingleOrDefault(m => m.Id == id);

            if (torneio == null)
            {
                return(NotFound());
            }

            var jogadores = _context.JogadorPessoas.Where(
                jp => viewModel.JogadoresIds.Exists(j => j == jp.Id))
                            .ToList();

            foreach (var item in jogadores)
            {
                torneio.Jogadores.Add(item);
            }
            _context.SaveChanges();

            if (torneio.QuantidadeJogadores == torneio.Jogadores.Count())
            {
                for (int i = 0; i < torneio.QuantidadeJogadores - 1; i++)
                {
                    for (int j = 0; j < (torneio.QuantidadeJogadores - 1) - i; j++)
                    {
                        Jogo Jogo = new Jogo();
                        Jogo.Jogador1 = torneio.Jogadores[i];
                        Jogo.Jogador2 = torneio.Jogadores[j + i + 1];
                        torneio.Jogos.Add(Jogo);
                        _context.Add(Jogo);
                    }
                }
                for (int i = 0; i < torneio.QuantidadeJogadores - 1; i++)
                {
                    for (int j = 0; j < (torneio.QuantidadeJogadores - 1) - i; j++)
                    {
                        Jogo Jogo = new Jogo();
                        Jogo.Jogador1 = torneio.Jogadores[j + i + 1];
                        Jogo.Jogador2 = torneio.Jogadores[i];
                        torneio.Jogos.Add(Jogo);
                        _context.Add(Jogo);
                    }
                }
            }
            for (int i = 0; i < torneio.QuantidadeJogadores; i++)
            {
                JogadorResultados JogadorResultados = new JogadorResultados();
                JogadorResultados.Torneio = torneio;
                JogadorResultados.Jogador = torneio.Jogadores[i];
                _context.Add(JogadorResultados);
            }
            _context.SaveChanges();
            return(RedirectToAction(nameof(Index)));
        }
Exemplo n.º 4
0
        public IActionResult SelecionarJogadores(
            int id,
            [Bind(nameof(SelecionarUsuarioViewModel.JogadoresIds))] SelecionarUsuarioViewModel viewModel)
        {
            var torneio = _context.Torneio.Include(t => t.Jogos).SingleOrDefault(m => m.Id == id);

            if (torneio == null)
            {
                return(NotFound());
            }
            if (viewModel.JogadoresIds.Count == torneio.QuantidadeJogadores)
            {
                var jogadores = _context.Jogadores.Where(
                    jp => viewModel.JogadoresIds.Exists(j => j == jp.Id))
                                .ToList();
                foreach (var item in jogadores)
                {
                    torneio.Jogadores.Add(item);
                }
                _context.SaveChanges();
                //
                // CRIANDO JOGOS
                //
                for (int i = 1; i <= 2; i++)
                {
                    List <Jogo> jogos = new List <Jogo> ();
                    for (int j1 = 0; j1 < jogadores.Count - 1; j1++)
                    {
                        for (int j2 = j1 + 1; j2 < jogadores.Count; j2++)
                        {
                            Jogo jogo = new Jogo()
                            {
                                Jogador1  = jogadores[j1],
                                Jogador2  = jogadores[j2],
                                Tabuleiro = new Tabuleiro()
                            };
                            jogos.Add(jogo);
                        }
                    }
                    Random random = new Random();
                    while (jogos.Count > 0)
                    {
                        int valorAleatorio = random.Next(jogos.Count);
                        torneio.Jogos.Add(jogos[valorAleatorio]);
                        jogos.RemoveAt(valorAleatorio);
                    }
                }
            }
            _context.SaveChanges();
            return(RedirectToAction(nameof(Index)));
            //return View (viewModel);
        }
        public IActionResult SelecionarJogadores(int id, [Bind(nameof(SelecionarUsuarioViewModel.JogadoresIds))] SelecionarUsuarioViewModel viewModel)
        {
            var torneio = _context.Torneio.Include(t => t.Jogadores).SingleOrDefault(m => m.Id == id);

            if (torneio == null)
            {
                return(NotFound());
            }

            var jogadores = _context.JogadorPessoa.Where(
                jp => viewModel.JogadoresIds.Contains(jp.Id))
                            .ToList();

            torneio.Jogadores.Clear();
            foreach (var item in jogadores)
            {
                torneio.Jogadores.Add(item);
            }
            _context.SaveChanges();

            List <JogadorPessoa>  availableUsersPessoa  = _context.JogadorPessoa.Include(j => j.Usuario).ToList();
            List <JogadorMaquina> availableUsersMaquina = _context.JogadorMaquina.ToList();
            List <Jogador>        allAvailableUsers     = new List <Jogador>();

            foreach (JogadorPessoa item in availableUsersPessoa)
            {
                item.Usuario = _context.ApplicationUser.Where(j => j.JogadorId == item.Id).FirstOrDefault();
                allAvailableUsers.Add((Jogador)item);
            }

            foreach (JogadorMaquina item in availableUsersMaquina)
            {
                allAvailableUsers.Add((Jogador)item);
            }

            ViewBag.Jogadores =
                new SelectList(allAvailableUsers,
                               nameof(JogadorPessoa.Id),
                               nameof(JogadorPessoa.Nome),
                               jogadores
                               );

            return(RedirectToAction(nameof(Index)));
        }
        public IActionResult SelecionarJogadores(int id)
        {
            var torneio = _context.Torneio.Include(t => t.Jogadores)
                          .SingleOrDefault(m => m.Id == id);

            if (torneio == null)
            {
                return(NotFound());
            }

            SelecionarUsuarioViewModel viewModel = new SelecionarUsuarioViewModel();

            List <int> jogadores = new List <int>();

            if (torneio.Jogadores != null)
            {
                jogadores = torneio.Jogadores.Select(j => j.Id).ToList();
            }

            List <JogadorPessoa>  availableUsersPessoa  = _context.JogadorPessoa.Include(j => j.Usuario).ToList();
            List <JogadorMaquina> availableUsersMaquina = _context.JogadorMaquina.ToList();
            List <Jogador>        allAvailableUsers     = new List <Jogador>();

            foreach (JogadorPessoa item in availableUsersPessoa)
            {
                item.Usuario = _context.ApplicationUser.Where(j => j.JogadorId == item.Id).FirstOrDefault();
                allAvailableUsers.Add((Jogador)item);
            }

            foreach (JogadorMaquina item in availableUsersMaquina)
            {
                allAvailableUsers.Add((Jogador)item);
            }

            ViewBag.Jogadores =
                new SelectList(allAvailableUsers,
                               nameof(JogadorPessoa.Id),
                               nameof(JogadorPessoa.Nome),
                               jogadores
                               );
            viewModel.JogadoresIds = jogadores;
            return(View(viewModel));
        }
Exemplo n.º 7
0
        public IActionResult SelecionarJogadores(
            int id,
            [Bind(nameof(SelecionarUsuarioViewModel.JogadoresIds))] SelecionarUsuarioViewModel viewModel)
        {
            var torneio = _context.Torneio.SingleOrDefault(m => m.Id == id);

            if (torneio == null)
            {
                return(NotFound());
            }

            var jogadores = _context.JogadorPessoas.Where(
                jp => viewModel.JogadoresIds.Exists(j => j == jp.Id))
                            .ToList();

            foreach (var item in jogadores)
            {
                torneio.Jogadores.Add(item);
            }
            _context.SaveChanges();
            return(View(viewModel));
        }