public void AlmacenarPuntos(long id_partida, string id_ganador) { long id_equipo_r = 0; Equipo_T_P equipoTP = db.Equipo_T_P.FirstOrDefault(e => e.id_partida == id_partida); Equipo_Torneo equipoTorneo = db.Equipo_Torneo.FirstOrDefault(e => e.id_E_T == equipoTP.id_E_T); TorneoModificar = db.Torneo.Find(equipoTorneo.id_torneo); // con esto ya tengo el torneo en el cual se esta jugando, id de partida y el usuario que gano var equipos_torneos = db.Equipo_Torneo.Where(e => e.id_torneo == TorneoModificar.id_torneo); List <Equipo> equipos = new List <Equipo>(); List <Equipo_Jugador> equipos_jugadores = new List <Equipo_Jugador>(); foreach (var item in equipos_torneos) { equipos.Add(db.Equipo.Find(item.id_equipo)); } foreach (var item in equipos) { foreach (var equipo_j in item.Equipo_Jugador) { equipos_jugadores.Add(db.Equipo_Jugador.Find(equipo_j.id_E_J)); // ya tengo una lista de equipos jugadores } } foreach (var item in equipos_jugadores) { if (item.id_usuario == id_ganador) { Equipo_Jugador update = db.Equipo_Jugador.Find(item.id_E_J); update.puntos += 3; db.Entry(update).State = EntityState.Modified;// le doy los puntos al jugador db.SaveChanges(); id_equipo_r = item.id_equipo; } } //ya tengo id_torneo,id_ganador,id_equipo(que puntuo), id_torneo_partida List <Ronda> rondas = new List <Ronda>(); foreach (var item in db.Ronda.Where(e => (e.id_equipo1 == id_equipo_r || e.id_equipo2 == id_equipo_r) && e.id_torneo == TorneoModificar.id_torneo)) { rondas.Add(item); } Ronda ronda = null; try { if (rondas.Count() == 1) { ronda = rondas[0]; } for (int i = 0; i < rondas.Count(); i++) { if (rondas[i].noRonda > rondas[i + 1].noRonda) { ronda = rondas[i];// con esto obtendre la mayor ronda que se este trabajando } } } catch (Exception) { } if (ronda.id_equipo1 == id_equipo_r) { ronda.puntos1 += 3; } else // significa que el equipo 2 es el que gano { ronda.puntos2 += 3; } db.Entry(ronda).State = EntityState.Modified;// le doy los puntos al equipo ganador db.SaveChanges(); UltimaRondaJugada = ronda; // aqui ya he sumado los puntos al equipo ganador y al jugador }
public bool cargarDatos(string url) { try { XmlTextReader reader = new XmlTextReader(url); string anterior = ""; long id_equipo = 0; long id_torneo = 0; while (reader.Read()) { switch (reader.NodeType) { case XmlNodeType.Element: // The node is an element. switch (reader.Name) { case "campeonato": anterior = "campeonato"; break; case "nombre": anterior = "nombre"; break; case "equipo": anterior = "equipo"; break; case "nombreEquipo": anterior = "nombreEquipo"; break; case "jugador": anterior = "jugador"; break; } break; case XmlNodeType.Text: //Display the text in each element. switch (anterior) { case "campeonato": break; case "nombre": Torneo newTorneo = new Torneo { nombre = reader.Value, id_ganador = "" }; db.Torneo.Add(newTorneo); db.SaveChanges(); id_torneo = newTorneo.id_torneo; TorneoModificar = newTorneo; break; case "equipo": break; case "nombreEquipo": Equipo newEquipo = new Equipo { nombre = reader.Value }; db.Equipo.Add(newEquipo); db.SaveChanges(); id_equipo = newEquipo.id_equipo; Equipo_Torneo newEquipTorneo = new Equipo_Torneo { id_equipo = id_equipo, id_torneo = id_torneo, Torneo = db.Torneo.FirstOrDefault(e => e.id_torneo == id_torneo), Equipo = db.Equipo.FirstOrDefault(e => e.id_equipo == id_equipo) }; db.Equipo_Torneo.Add(newEquipTorneo); db.SaveChanges(); TorneoModificar.Equipo_Torneo.Add(newEquipTorneo); newEquipo.Equipo_Torneo.Add(newEquipTorneo); db.Entry(TorneoModificar).State = EntityState.Modified; db.Entry(newEquipo).State = EntityState.Modified; db.SaveChanges(); break; case "jugador": Equipo_Jugador newObject = new Equipo_Jugador { puntos = 0, id_equipo = id_equipo, id_usuario = reader.Value, Jugador = db.Jugador.FirstOrDefault(e => e.id_usuario == reader.Value), Equipo = db.Equipo.FirstOrDefault(e => e.id_equipo == id_equipo) }; db.Equipo_Jugador.Add(newObject); db.SaveChanges(); Jugador jug = db.Jugador.FirstOrDefault(e => e.id_usuario == reader.Value); jug.Equipo_Jugador.Add(newObject); Equipo equipo = db.Equipo.FirstOrDefault(e => e.id_equipo == id_equipo); equipo.Equipo_Jugador.Add(newObject); db.Entry(jug).State = EntityState.Modified; db.Entry(equipo).State = EntityState.Modified; db.SaveChanges(); break; } break; case XmlNodeType.EndElement: //Display the end of the element. switch (reader.Name) { case "campeonato": break; case "nombre": break; case "equipo": break; case "nombreEquipo": break; case "jugador": break; } break; } } crearPartidas(TorneoModificar.id_torneo); return(true); } catch (Exception) { return(false); } }