public PartidoTotalCO(PartidoVO partidoVO, List <PartidoJugadoVO> partidosJugadosVO,
                       List <GolVO> goles)
 {
     this.partido         = partidoVO;
     this.partidosJugados = partidosJugadosVO;
     this.Goles           = goles;
 }
 public PartidoCompletoCO(EquipoVO equipoLocal, EquipoVO equipoVisitante,
                          PartidoVO partido, List <PartidoJugadoBasicoCO> jugadoresTitularesLocal,
                          List <PartidoJugadoBasicoCO> jugadoresTitularesVisitante, List <PartidoJugadoBasicoCO> jugadoresNoTitularesLocal,
                          List <PartidoJugadoBasicoCO> jugadoresNoTitularesVisitante, List <GolCO> golesLocal,
                          List <GolCO> golesVisitante, List <TarjetaCO> tarjetasLocal, List <TarjetaCO> tarjetasVisitante,
                          EstadioVO estadio, ArbitroVO arbitro, String cronica, List <CambioCO> cambiosLocal,
                          List <CambioCO> cambiosVisitante)
 {
     this.EquipoLocal                   = equipoLocal;
     this.EquipoVisitante               = equipoVisitante;
     this.Partido                       = partido;
     this.JugadoresTitularesLocal       = jugadoresTitularesLocal;
     this.JugadoresTitularesVisitante   = jugadoresTitularesVisitante;
     this.JugadoresNoTitularesLocal     = jugadoresNoTitularesLocal;
     this.JugadoresNoTitularesVisitante = jugadoresNoTitularesVisitante;
     this.GolesLocal                    = golesLocal;
     this.GolesVisitante                = golesVisitante;
     this.TarjetasLocal                 = tarjetasLocal;
     this.TarjetasVisitante             = tarjetasVisitante;
     this.Arbitro                       = arbitro;
     this.Estadio                       = estadio;
     this.Cronica                       = cronica;
     this.CambiosLocal                  = cambiosLocal;
     this.CambiosVisitante              = cambiosVisitante;
 }
 public PartidoTotalCO(PartidoVO partidoVO, List <PartidoJugadoVO> partidosJugadosVO,
                       List <GolVO> goles, List <CambioVO> cambios)
 {
     this.partido         = partidoVO;
     this.partidosJugados = partidosJugadosVO;
     this.Goles           = goles;
     this.Cambios         = cambios;
 }
        /*genera un PartidoTotalCO con todos los datos de un partido
         * tanto el PartidoVO como la lista de GolVOs y PartidoJugadoVOs
         * de los jugadores que participan en el
         * */
        public PartidoTotalCO generarPartidoCompleto(int codCompeticion, String jornada,
                                                     int codLocal, int codVisitante, bool saveChangesInBD = true)
        {
            PartidoVO partido = generarPartidoSimple(codCompeticion, jornada, codLocal, codVisitante, 1);

            var jugadoresLocal       = generar11Titular(codLocal);
            var jugadoresVisitante   = generar11Titular(codVisitante);
            var listaPartidosJugados = new List <PartidoJugadoVO>();
            var golesLocal           = new List <GolVO>();
            var golesVisitante       = new List <GolVO>();



            //Se crean los partidosJugados para cada jugador del equipo local
            //titulares y suplentes
            int contador      = 1;
            int numeroCambios = jugadoresLocal.Count - 11;

            foreach (var item in jugadoresLocal)
            {
                if (contador > 11)
                {
                    listaPartidosJugados.Add(generarPartidoJugadoSimple(item.Cod_Jugador, "Suplente"));
                }
                else
                {
                    listaPartidosJugados.Add(generarPartidoJugadoSimple(item.Cod_Jugador, "Titular"));
                }
                contador++;
            }


            //aqui se crean los cambios equipo local
            var cambiosLocal = new List <CambioVO>();

            for (int i = 0; i < numeroCambios; i++)
            {
                var cambio = new CambioVO((jugadoresLocal[11 + i]).Cod_Jugador,
                                          (jugadoresLocal[1 + i]).Cod_Jugador, rand.Next(0, 90));
                cambiosLocal.Add(cambio);
            }



            //Se crean los partidosJugados para cada jugador del equipo visitante
            //titulares y suplentes
            contador      = 1;
            numeroCambios = jugadoresVisitante.Count - 11;
            foreach (var item in jugadoresVisitante)
            {
                if (contador > 11)
                {
                    listaPartidosJugados.Add(generarPartidoJugadoSimple(item.Cod_Jugador, "Suplente"));
                }
                else
                {
                    listaPartidosJugados.Add(generarPartidoJugadoSimple(item.Cod_Jugador, "Titular"));
                }
                contador++;
            }

            //aqui se crean los cambios equipo visitante
            var cambiosVisitante = new List <CambioVO>();

            for (int i = 0; i < numeroCambios; i++)
            {
                var cambio = new CambioVO(((JugadorVO)jugadoresVisitante[11 + i]).Cod_Jugador,
                                          ((JugadorVO)jugadoresVisitante[1 + i]).Cod_Jugador, rand.Next(0, 90));
                cambiosVisitante.Add(cambio);
            }

            //aqui generamos las tarjetas del equipo local
            var tarjetasLocal  = new List <TarjetaVO>();
            int numeroTarjetas = rand.Next(0, 6);

            for (int i = 0; i < numeroTarjetas; i++)
            {
                var tarjeta = new TarjetaVO(((JugadorVO)jugadoresLocal[i]).Cod_Jugador,
                                            rand.Next(0, 90), "Yellow", "Aggressive tackle");
                tarjetasLocal.Add(tarjeta);
            }

            //aqui generamos las tarjetas del equipo visitante
            var tarjetasVisitante = new List <TarjetaVO>();

            numeroTarjetas = rand.Next(0, 6);
            for (int i = 0; i < numeroTarjetas; i++)
            {
                var tarjeta = new TarjetaVO(((JugadorVO)jugadoresVisitante[i]).Cod_Jugador,
                                            rand.Next(0, 90), "Yellow", "Aggressive tackle");
                tarjetasVisitante.Add(tarjeta);
            }


            //generamos ahora los goles concretos del partido

            var goleadoresLocal     = generador.generaGoleadoresLista(jugadoresLocal, partido.Goles_Local);
            var goleadoresVisitante = generador.generaGoleadoresLista(jugadoresVisitante, partido.Goles_Visitante);

            foreach (JugadorVO item in goleadoresLocal)
            {
                golesLocal.Add(new GolVO(item.Cod_Jugador, generador.generarPosesion(), "Pie", "http://www.youtube.com/v/fV5UGc9nBAc&hl=en&fs=1"));
            }

            foreach (JugadorVO item in goleadoresVisitante)
            {
                golesVisitante.Add(new GolVO(item.Cod_Jugador, generador.generarPosesion(), "Cabeza", "http://www.youtube.com/v/fV5UGc9nBAc&hl=en&fs=1"));
            }


            cambiosLocal.AddRange(cambiosVisitante);
            golesLocal.AddRange(golesVisitante);
            tarjetasLocal.AddRange(tarjetasVisitante);


            PartidoTotalCO partidoCompleto = new PartidoTotalCO(partido, listaPartidosJugados,
                                                                golesLocal, cambiosLocal, tarjetasLocal);

            if (saveChangesInBD)
            {
                PartidoTotalCO partidoTotal = fachada.pruebaCrearPartidoTotal(partidoCompleto);
                return(partidoTotal);
            }

            partidoCompleto.playersLocal   = jugadoresLocal.Cast <JugadorVO>().ToList();
            partidoCompleto.playersVisitor = jugadoresVisitante.Cast <JugadorVO>().ToList();

            return(partidoCompleto);
        }
        public List <ClasificacionVO> actualizarClasificacionTrasPartido(int numeroJornada, PartidoVO partido, List <ClasificacionVO> clasificacion)
        {
            int ptosLocal = 0, ptosVisitante = 0, golesFavorLocal = 0, golesContraLocal = 0;
            int golesFavorVisitante = 0, golesContraVisitante = 0;
            int ganadosLocal = 0, perdidosLocal = 0, empatadosLocal = 0;
            int ganadosVisitante = 0, perdidosVisitante = 0, empatadosVisitante = 0;

            //busca los puntos actuales de los equipos local y visitante
            foreach (ClasificacionVO item in clasificacion)
            {
                if (item.Cod_Equipo == partido.Cod_Local)
                {
                    ptosLocal        = item.Puntos;
                    ganadosLocal     = item.Ganados;
                    perdidosLocal    = item.Perdidos;
                    empatadosLocal   = item.Empatados;
                    golesFavorLocal  = item.Goles_Favor;
                    golesContraLocal = item.Goles_Contra;
                }
                if (item.Cod_Equipo == partido.Cod_Visitante)
                {
                    ptosVisitante        = item.Puntos;
                    ganadosVisitante     = item.Ganados;
                    perdidosVisitante    = item.Perdidos;
                    empatadosVisitante   = item.Empatados;
                    golesFavorVisitante  = item.Goles_Favor;
                    golesContraVisitante = item.Goles_Contra;
                }
            }


            if (partido.Goles_Local > partido.Goles_Visitante)
            {
                clasificacion = actualizarClasificacion(new ClasificacionVO(partido.Cod_Competicion, numeroJornada,
                                                                            partido.Cod_Local, 1, ganadosLocal + 1, perdidosLocal, empatadosLocal, golesFavorLocal + partido.Goles_Local,
                                                                            partido.Goles_Visitante + golesContraLocal, ptosLocal + 3), clasificacion);

                clasificacion = actualizarClasificacion(new ClasificacionVO(partido.Cod_Competicion, numeroJornada,
                                                                            partido.Cod_Visitante, 1, ganadosVisitante, perdidosVisitante + 1, empatadosVisitante, golesFavorVisitante + partido.Goles_Visitante,
                                                                            partido.Goles_Local + golesContraVisitante, ptosVisitante), clasificacion);
            }
            else if (partido.Goles_Visitante > partido.Goles_Local)
            {
                actualizarClasificacion(new ClasificacionVO(partido.Cod_Competicion, numeroJornada,
                                                            partido.Cod_Local, 1, ganadosLocal, perdidosLocal + 1, empatadosLocal, golesFavorLocal + partido.Goles_Local,
                                                            partido.Goles_Visitante + golesContraLocal, ptosLocal), clasificacion);

                actualizarClasificacion(new ClasificacionVO(partido.Cod_Competicion, numeroJornada,
                                                            partido.Cod_Visitante, 1, ganadosVisitante + 1, perdidosVisitante, empatadosVisitante, golesFavorVisitante + partido.Goles_Visitante,
                                                            partido.Goles_Local + golesContraVisitante, ptosVisitante + 3), clasificacion);
            }
            else
            {
                actualizarClasificacion(new ClasificacionVO(partido.Cod_Competicion, numeroJornada,
                                                            partido.Cod_Local, 1, ganadosLocal, perdidosLocal, empatadosLocal + 1, golesFavorLocal + partido.Goles_Local,
                                                            partido.Goles_Visitante + golesContraLocal, ptosLocal + 1), clasificacion);

                actualizarClasificacion(new ClasificacionVO(partido.Cod_Competicion, numeroJornada,
                                                            partido.Cod_Visitante, 1, ganadosVisitante, perdidosVisitante, empatadosVisitante + 1, golesFavorVisitante + partido.Goles_Visitante,
                                                            partido.Goles_Local + golesContraVisitante, ptosVisitante + 1), clasificacion);
            }

            return(clasificacion);
        }
Exemple #6
0
        public PartidoVO create(DbConnection connection, DbTransaction transaction, PartidoVO partidoVO)
        {
            try
            {
                DbCommand command = connection.CreateCommand();

                if (transaction != null)
                {
                    command.Transaction = transaction;
                }



                command.CommandText = "INSERT INTO Partido (cod_competicion, jornada, cod_Local, cod_Visitante, fecha," +
                                      "clima, goles_Local, goles_Visitante, posesion_Local, posesion_Visitante," +
                                      "corners_Local, corners_Visitante, fueras_Juego_Local, fueras_Juego_Visitante," +
                                      "asistencia, cod_Arbitro, cod_Estadio) values " +
                                      "(@cod_competicion, @jornada, @cod_Local, @cod_Visitante, @fecha," +
                                      "@clima, @goles_Local, @goles_Visitante, @posesion_Local, @posesion_Visitante," +
                                      "@corners_Local, @corners_Visitante, @fueras_Juego_Local, @fueras_Juego_Visitante," +
                                      "@asistencia, @cod_Arbitro, @cod_Estadio)";

                DbParameter cod_competicionParam = command.CreateParameter();
                cod_competicionParam.ParameterName = "@cod_competicion";
                cod_competicionParam.DbType        = DbType.Int32;
                cod_competicionParam.Value         = partidoVO.Cod_Competicion;
                cod_competicionParam.Size          = 32;
                command.Parameters.Add(cod_competicionParam);


                DbParameter jornadaParam = command.CreateParameter();
                jornadaParam.ParameterName = "@jornada";
                jornadaParam.DbType        = DbType.String;
                jornadaParam.Value         = partidoVO.Jornada;
                jornadaParam.Size          = 32;
                command.Parameters.Add(jornadaParam);


                DbParameter cod_LocalParam = command.CreateParameter();
                cod_LocalParam.ParameterName = "@cod_Local";
                cod_LocalParam.DbType        = DbType.Int32;
                cod_LocalParam.Value         = partidoVO.Cod_Local;
                cod_LocalParam.Size          = 32;
                command.Parameters.Add(cod_LocalParam);


                DbParameter cod_VisitanteParam = command.CreateParameter();
                cod_VisitanteParam.ParameterName = "@cod_Visitante";
                cod_VisitanteParam.DbType        = DbType.Int32;
                cod_VisitanteParam.Value         = partidoVO.Cod_Visitante;
                cod_VisitanteParam.Size          = 32;
                command.Parameters.Add(cod_VisitanteParam);


                DbParameter goles_LocalParam = command.CreateParameter();
                goles_LocalParam.ParameterName = "@goles_Local";
                goles_LocalParam.DbType        = DbType.Int32;
                goles_LocalParam.Value         = partidoVO.Goles_Local;
                goles_LocalParam.Size          = 32;
                command.Parameters.Add(goles_LocalParam);


                DbParameter goles_VisitanteParam = command.CreateParameter();
                goles_VisitanteParam.ParameterName = "@goles_Visitante";
                goles_VisitanteParam.DbType        = DbType.Int32;
                goles_VisitanteParam.Value         = partidoVO.Goles_Visitante;
                goles_VisitanteParam.Size          = 32;
                command.Parameters.Add(goles_VisitanteParam);


                DbParameter posesion_LocalParam = command.CreateParameter();
                posesion_LocalParam.ParameterName = "@posesion_Local";
                posesion_LocalParam.DbType        = DbType.Double;
                posesion_LocalParam.Value         = partidoVO.Posesion_Local;
                posesion_LocalParam.Size          = 30;
                command.Parameters.Add(posesion_LocalParam);


                DbParameter posesion_VisitanteParam = command.CreateParameter();
                posesion_VisitanteParam.ParameterName = "@posesion_Visitante";
                posesion_VisitanteParam.DbType        = DbType.Double;
                posesion_VisitanteParam.Value         = partidoVO.Posesion_Visitante;
                posesion_VisitanteParam.Size          = 30;
                command.Parameters.Add(posesion_VisitanteParam);


                DbParameter corners_LocalParam = command.CreateParameter();
                corners_LocalParam.ParameterName = "@corners_Local";
                corners_LocalParam.DbType        = DbType.Int32;
                corners_LocalParam.Value         = partidoVO.Corners_Local;
                corners_LocalParam.Size          = 32;
                command.Parameters.Add(corners_LocalParam);


                DbParameter corners_VisitanteParam = command.CreateParameter();
                corners_VisitanteParam.ParameterName = "@corners_Visitante";
                corners_VisitanteParam.DbType        = DbType.Int32;
                corners_VisitanteParam.Value         = partidoVO.Corners_Visitante;
                corners_VisitanteParam.Size          = 32;
                command.Parameters.Add(corners_VisitanteParam);


                DbParameter fueras_Juego_LocalParam = command.CreateParameter();
                fueras_Juego_LocalParam.ParameterName = "@fueras_Juego_Local";
                fueras_Juego_LocalParam.DbType        = DbType.Int32;
                fueras_Juego_LocalParam.Value         = partidoVO.FuerasJuego_Local;
                fueras_Juego_LocalParam.Size          = 32;
                command.Parameters.Add(fueras_Juego_LocalParam);


                DbParameter fueras_Juego_VisitanteParam = command.CreateParameter();
                fueras_Juego_VisitanteParam.ParameterName = "@fueras_Juego_Visitante";
                fueras_Juego_VisitanteParam.DbType        = DbType.Int32;
                fueras_Juego_VisitanteParam.Value         = partidoVO.FuerasJuego_Visitante;
                fueras_Juego_VisitanteParam.Size          = 32;
                command.Parameters.Add(fueras_Juego_VisitanteParam);


                DbParameter climaParam = command.CreateParameter();
                climaParam.ParameterName = "@clima";
                climaParam.DbType        = DbType.String;
                climaParam.Value         = partidoVO.Clima;
                climaParam.Size          = 20;
                command.Parameters.Add(climaParam);

                DbParameter fechaParam = command.CreateParameter();
                fechaParam.ParameterName = "@fecha";
                fechaParam.DbType        = DbType.DateTime;
                fechaParam.Value         = partidoVO.Fecha;
                fechaParam.Size          = 100;
                command.Parameters.Add(fechaParam);


                DbParameter asistenciaParam = command.CreateParameter();
                asistenciaParam.ParameterName = "@asistencia";
                asistenciaParam.DbType        = DbType.Int32;
                asistenciaParam.Value         = partidoVO.Asistencia;
                asistenciaParam.Size          = 32;
                command.Parameters.Add(asistenciaParam);


                DbParameter cod_ArbitroParam = command.CreateParameter();
                cod_ArbitroParam.ParameterName = "@cod_Arbitro";
                cod_ArbitroParam.DbType        = DbType.Int32;
                cod_ArbitroParam.Value         = partidoVO.Cod_Arbitro;
                cod_ArbitroParam.Size          = 32;
                command.Parameters.Add(cod_ArbitroParam);


                DbParameter cod_EstadioParam = command.CreateParameter();
                cod_EstadioParam.ParameterName = "@cod_Estadio";
                cod_EstadioParam.DbType        = DbType.Int32;
                cod_EstadioParam.Value         = partidoVO.Cod_Estadio;
                cod_EstadioParam.Size          = 32;
                command.Parameters.Add(cod_EstadioParam);


                command.Prepare();

                int insertedRows = command.ExecuteNonQuery();


                if (insertedRows == 0)
                {
                    throw new SQLException("errorrrrrrr");
                }

                IPartidoIdentifierRetriever partidoIdentifierRetriever = PartidoIdentifierRetrieverFactory.GetRetriever();

                Int64 partidoIdentifier = partidoIdentifierRetriever.GetGeneratedIdentifier(connection, transaction);



                return(new PartidoVO((int)partidoIdentifier, partidoVO.Cod_Competicion, partidoVO.Jornada, partidoVO.Cod_Local,
                                     partidoVO.Cod_Visitante, partidoVO.Fecha, partidoVO.Clima,
                                     partidoVO.Goles_Local, partidoVO.Goles_Visitante, partidoVO.Posesion_Local,
                                     partidoVO.Posesion_Visitante, partidoVO.Corners_Local, partidoVO.Corners_Visitante,
                                     partidoVO.FuerasJuego_Local, partidoVO.FuerasJuego_Visitante, partidoVO.Asistencia,
                                     partidoVO.Cod_Arbitro, partidoVO.Cod_Estadio));
            }
            catch (DbException e)
            {
                throw new InternalErrorException(e);
            }
        }