public void crearPartidas(long id) { // se crearan las partidas del torneo List <Equipo_Torneo> equipo_torneo = db.Equipo_Torneo.Where(e => e.id_torneo == id).ToList(); for (int i = 0; i < equipo_torneo.Count(); i += 2) { var id_1 = equipo_torneo[i].id_equipo; var id_2 = equipo_torneo[i + 1].id_equipo; Ronda nueva = new Ronda { id_equipo1 = id_1, id_equipo2 = id_2, puntos1 = 0, puntos2 = 0, noRonda = 1, id_torneo = id }; db.Ronda.Add(nueva); db.SaveChanges(); List <Equipo_Jugador> jugadores1 = db.Equipo_Jugador.Where(e => e.id_equipo == id_1).ToList(); List <Equipo_Jugador> jugadores2 = db.Equipo_Jugador.Where(e => e.id_equipo == id_2).ToList(); for (int j = 0; j < jugadores1.Count(); j++) { Partida partida = new Partida { id_ganador = "", id_tipo_partida = 1003, Tipo_Partida = db.Tipo_Partida.Find(1003) }; db.Partida.Add(partida); db.SaveChanges(); var id_user1 = jugadores1[j].id_usuario; var id_user2 = jugadores2[j].id_usuario; Jugador_Partida jugador1 = new Jugador_Partida { mov = 0, id_Usuario = id_user1, id_Partida = partida.id_partida, Partida = db.Partida.FirstOrDefault(e => e.id_partida == partida.id_partida), Jugador = db.Jugador.FirstOrDefault(e => e.id_usuario == id_user1) }; Jugador_Partida jugador2 = new Jugador_Partida // { mov = 0, id_Usuario = id_user2, id_Partida = partida.id_partida, Partida = db.Partida.FirstOrDefault(e => e.id_partida == partida.id_partida), Jugador = db.Jugador.FirstOrDefault(e => e.id_usuario == id_user2) }; db.Jugador_Partida.Add(jugador1); db.Jugador_Partida.Add(jugador2); db.SaveChanges(); Jugador_P_C color1 = new Jugador_P_C { id_J_P = jugador1.id_J_P, id_color = db.Color.FirstOrDefault(e => e.nombre == "negro").id_color, Color = db.Color.FirstOrDefault(e => e.nombre == "negro"), Jugador_Partida = db.Jugador_Partida.FirstOrDefault(e => e.id_J_P == jugador1.id_J_P) }; Jugador_P_C color2 = new Jugador_P_C { id_J_P = jugador2.id_J_P, id_color = db.Color.FirstOrDefault(e => e.nombre == "blanco").id_color, Color = db.Color.FirstOrDefault(e => e.nombre == "blanco"), Jugador_Partida = db.Jugador_Partida.FirstOrDefault(e => e.id_J_P == jugador2.id_J_P) }; db.Jugador_P_C.Add(color1); db.Jugador_P_C.Add(color2); db.SaveChanges(); PartidaModificar = db.Partida.Find(partida.id_partida); for (int fila = 0; fila < 8; fila++) { for (int columna = 0; columna < 8; columna++) { if (fila == 3 && columna == 3 || fila == 4 && columna == 4) { CrearFicha(fila, columna, "blanco", PartidaModificar.id_partida); } else if (fila == 3 && columna == 4 || fila == 4 && columna == 3) { CrearFicha(fila, columna, "negro", PartidaModificar.id_partida); } else if (fila == 3 && columna == 2 || fila == 2 && columna == 3 || fila == 4 && columna == 5 || fila == 5 && columna == 4) { CrearFicha(fila, columna, "valido", PartidaModificar.id_partida); } else { CrearFicha(fila, columna, "nulo", PartidaModificar.id_partida); } } } // creo mis fichas y se las asigno db.Entry(PartidaModificar).State = EntityState.Modified; db.SaveChanges(); Equipo_T_P nuev = new Equipo_T_P { id_E_T = equipo_torneo[i].id_E_T, id_partida = partida.id_partida, Partida = db.Partida.Find(partida.id_partida), Equipo_Torneo = db.Equipo_Torneo.Find(equipo_torneo[i].id_E_T) }; db.Equipo_T_P.Add(nuev); db.SaveChanges(); } } }
public void CrearNuevasPartidas() { List <Partida> partidas = new List <Partida>(); var equipo_torneos = db.Equipo_Torneo.Where(e => e.id_torneo == TorneoModificar.id_torneo); long id_equipo_torneo = 0; List <Equipo> equipos = new List <Equipo>(); foreach (var equipo_torneo in equipo_torneos) { id_equipo_torneo = equipo_torneo.id_E_T; equipos.Add(db.Equipo.FirstOrDefault(e => e.id_equipo == equipo_torneo.id_equipo)); var equipo_t_ps = db.Equipo_T_P.Where(e => e.id_E_T == equipo_torneo.id_E_T); foreach (var equipo_t_p in equipo_t_ps) { Partida party = db.Partida.FirstOrDefault(e => e.id_partida == equipo_t_p.id_partida); partidas.Add(party); } }// aqui ya tengo las partidas que se an ganado for (int i = 0; i < partidas.Count(); i += 2) { var partida1 = partidas[i]; var partida2 = partidas[i + 1]; // pimero obtengo los dos id de los ganadores (jugadores) var id1 = partida1.id_ganador; var id2 = partida2.id_ganador; //aqui ya tengo lista de equipos long id_equipo1 = 0; long id_equipo2 = 0; long id_equipoTorneo1 = 0; long id_equipoTorneo2 = 0; foreach (var item in equipos)// esto hago para obtener los dos id de mis equipos { var id_equipo = item.id_equipo; var equipos_jugadores = db.Equipo_Jugador.Where(e => e.id_equipo == id_equipo); foreach (var item2 in equipos_jugadores) { if (item2.id_usuario == id1) { id_equipo1 = id_equipo; id_equipoTorneo1 = db.Equipo_Torneo.FirstOrDefault(e => e.id_equipo == id_equipo1 && e.id_torneo == TorneoModificar.id_torneo).id_E_T; } else if (item2.id_usuario == id2) { id_equipo2 = id_equipo; id_equipoTorneo2 = db.Equipo_Torneo.FirstOrDefault(e => e.id_equipo == id_equipo2 && e.id_torneo == TorneoModificar.id_torneo).id_E_T; } } } // ahora que tengo toda la información necesaria hare las partidas Ronda nueva = new Ronda { id_equipo1 = id_equipo1, id_equipo2 = id_equipo2, puntos1 = 0, puntos2 = 0, noRonda = UltimaRondaJugada.noRonda + 1, id_torneo = TorneoModificar.id_torneo }; db.Ronda.Add(nueva); db.SaveChanges(); Partida partida = new Partida { id_ganador = "", id_tipo_partida = 1003, Tipo_Partida = db.Tipo_Partida.Find(1003) }; db.Partida.Add(partida); db.SaveChanges(); Jugador_Partida jugador1 = new Jugador_Partida { mov = 0, id_Usuario = id1, id_Partida = partida.id_partida, Partida = db.Partida.FirstOrDefault(e => e.id_partida == partida.id_partida), Jugador = db.Jugador.FirstOrDefault(e => e.id_usuario == id1) }; Jugador_Partida jugador2 = new Jugador_Partida // { mov = 0, id_Usuario = id2, id_Partida = partida.id_partida, Partida = db.Partida.FirstOrDefault(e => e.id_partida == partida.id_partida), Jugador = db.Jugador.FirstOrDefault(e => e.id_usuario == id2) }; db.Jugador_Partida.Add(jugador1); db.Jugador_Partida.Add(jugador2); db.SaveChanges(); Jugador_P_C color1 = new Jugador_P_C { id_J_P = jugador1.id_J_P, id_color = db.Color.FirstOrDefault(e => e.nombre == "negro").id_color, Color = db.Color.FirstOrDefault(e => e.nombre == "negro"), Jugador_Partida = db.Jugador_Partida.FirstOrDefault(e => e.id_J_P == jugador1.id_J_P) }; Jugador_P_C color2 = new Jugador_P_C { id_J_P = jugador2.id_J_P, id_color = db.Color.FirstOrDefault(e => e.nombre == "blanco").id_color, Color = db.Color.FirstOrDefault(e => e.nombre == "blanco"), Jugador_Partida = db.Jugador_Partida.FirstOrDefault(e => e.id_J_P == jugador2.id_J_P) }; db.Jugador_P_C.Add(color1); db.Jugador_P_C.Add(color2); db.SaveChanges(); PartidaModificar = db.Partida.Find(partida.id_partida); for (int fila = 0; fila < 8; fila++) { for (int columna = 0; columna < 8; columna++) { if (fila == 3 && columna == 3 || fila == 4 && columna == 4) { CrearFicha(fila, columna, "blanco", PartidaModificar.id_partida); } else if (fila == 3 && columna == 4 || fila == 4 && columna == 3) { CrearFicha(fila, columna, "negro", PartidaModificar.id_partida); } else if (fila == 3 && columna == 2 || fila == 2 && columna == 3 || fila == 4 && columna == 5 || fila == 5 && columna == 4) { CrearFicha(fila, columna, "valido", PartidaModificar.id_partida); } else { CrearFicha(fila, columna, "nulo", PartidaModificar.id_partida); } } } // creo mis fichas y se las asigno db.Entry(PartidaModificar).State = EntityState.Modified; db.SaveChanges(); Equipo_T_P nuev = new Equipo_T_P { id_E_T = id_equipoTorneo1, id_partida = partida.id_partida, Partida = db.Partida.Find(partida.id_partida), Equipo_Torneo = db.Equipo_Torneo.Find(id_equipoTorneo1) }; db.Equipo_T_P.Add(nuev); db.SaveChanges(); } }
public ActionResult Empate(string idRonda, string usuario1, string usuario2) { //crear nueva partida long id = Int64.Parse(idRonda); UltimaRondaJugada = db.Ronda.Find(id); var id_equipo1 = UltimaRondaJugada.id_equipo1; var id_equipo2 = UltimaRondaJugada.id_equipo2; var equipo_torneo = db.Equipo_Torneo.FirstOrDefault(e => e.id_equipo == id_equipo1 && e.id_torneo == UltimaRondaJugada.id_torneo); Ronda nueva = new Ronda { id_equipo1 = id_equipo1, id_equipo2 = id_equipo2, puntos1 = 0, puntos2 = 0, noRonda = UltimaRondaJugada.noRonda, id_torneo = UltimaRondaJugada.id_torneo }; db.Ronda.Add(nueva); Partida partida = new Partida { id_ganador = "", id_tipo_partida = 1003, Tipo_Partida = db.Tipo_Partida.Find(1003) }; db.Partida.Add(partida); db.SaveChanges(); var id_user1 = usuario1; var id_user2 = usuario2; Jugador_Partida jugador1 = new Jugador_Partida { mov = 0, id_Usuario = id_user1, id_Partida = partida.id_partida, Partida = db.Partida.FirstOrDefault(e => e.id_partida == partida.id_partida), Jugador = db.Jugador.FirstOrDefault(e => e.id_usuario == id_user1) }; Jugador_Partida jugador2 = new Jugador_Partida // { mov = 0, id_Usuario = id_user2, id_Partida = partida.id_partida, Partida = db.Partida.FirstOrDefault(e => e.id_partida == partida.id_partida), Jugador = db.Jugador.FirstOrDefault(e => e.id_usuario == id_user2) }; db.Jugador_Partida.Add(jugador1); db.Jugador_Partida.Add(jugador2); db.SaveChanges(); Jugador_P_C color1 = new Jugador_P_C { id_J_P = jugador1.id_J_P, id_color = db.Color.FirstOrDefault(e => e.nombre == "negro").id_color, Color = db.Color.FirstOrDefault(e => e.nombre == "negro"), Jugador_Partida = db.Jugador_Partida.FirstOrDefault(e => e.id_J_P == jugador1.id_J_P) }; Jugador_P_C color2 = new Jugador_P_C { id_J_P = jugador2.id_J_P, id_color = db.Color.FirstOrDefault(e => e.nombre == "blanco").id_color, Color = db.Color.FirstOrDefault(e => e.nombre == "blanco"), Jugador_Partida = db.Jugador_Partida.FirstOrDefault(e => e.id_J_P == jugador2.id_J_P) }; db.Jugador_P_C.Add(color1); db.Jugador_P_C.Add(color2); db.SaveChanges(); PartidaModificar = db.Partida.Find(partida.id_partida); for (int fila = 0; fila < 8; fila++) { for (int columna = 0; columna < 8; columna++) { if (fila == 3 && columna == 3 || fila == 4 && columna == 4) { CrearFicha(fila, columna, "blanco", PartidaModificar.id_partida); } else if (fila == 3 && columna == 4 || fila == 4 && columna == 3) { CrearFicha(fila, columna, "negro", PartidaModificar.id_partida); } else if (fila == 3 && columna == 2 || fila == 2 && columna == 3 || fila == 4 && columna == 5 || fila == 5 && columna == 4) { CrearFicha(fila, columna, "valido", PartidaModificar.id_partida); } else { CrearFicha(fila, columna, "nulo", PartidaModificar.id_partida); } } } // creo mis fichas y se las asigno db.Entry(PartidaModificar).State = EntityState.Modified; db.SaveChanges(); Equipo_T_P nuev = new Equipo_T_P { id_E_T = equipo_torneo.id_E_T, id_partida = partida.id_partida, Partida = db.Partida.Find(partida.id_partida), Equipo_Torneo = db.Equipo_Torneo.Find(equipo_torneo.id_E_T) }; db.Equipo_T_P.Add(nuev); db.SaveChanges(); return(RedirectToAction("Jugar", new { id = UltimaRondaJugada.id_torneo, Message = "Se ha creado una nueva partida por empate de puntos" })); }