Пример #1
0
        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
        }
Пример #2
0
        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);
            }
        }