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