public object execute(DbConnection connection) { ClasificacionDAO clasificacionDAO = new ClasificacionDAO(); PartidoDAO partidoDAO = new PartidoDAO(); EquiposParticipanDAO equiposParticipanDAO = new EquiposParticipanDAO(); var listaEquiposParticipantes = equiposParticipanDAO.verEquiposParticipan(connection, null, cod_Competicion); var listaPartidosJornada = partidoDAO.verPartidosVOCompeticionJornada(connection, null, cod_Competicion, Convert.ToString(jornada)); var listaPartidosCompeticion = partidoDAO.buscarPartidosEquipos(connection, null, 0, 0, cod_Competicion, null, 0); int numeroPartidosCompeticion = (listaEquiposParticipantes.Count) * (listaEquiposParticipantes.Count - 1); if (jornada == "Ninguna") { return(false); } //Si ya se ha actualizado la clasificacion esa jornada, no se puede volver a actualizar if (clasificacionDAO.obtenerUltimaJornada(connection, null, cod_Competicion) == Int32.Parse(jornada)) { return(false); } if (listaPartidosCompeticion == null) { return(false); } //Si ya ha acabado la temporada , se acabó if (listaPartidosCompeticion.Count == numeroPartidosCompeticion) { return(false); } //si no ha empezado la temporada, no se puede actualizar nada if (listaPartidosJornada == null) { return(false); } if (listaPartidosJornada.Count != (listaEquiposParticipantes.Count / 2)) { return(false); } else { return(true); } }
public object execute(DbConnection connection, DbTransaction transaction) { ClasificacionDAO clasificacionDAO = new ClasificacionDAO(); int contador = 1; foreach (ClasificacionVO item in clasificacion) { item.Posicion = contador; clasificacionDAO.create(connection, transaction, item); contador++; } return(null); }
public object execute(DbConnection connection) { PartidoDAO partidoDAO = new PartidoDAO(); CalendarioDAO calendarioDAO = new CalendarioDAO(); ClasificacionDAO clasificacionDAO = new ClasificacionDAO(); CompeticionDAO competicionDAO = new CompeticionDAO(); GolDAO golDAO = new GolDAO(); List <CalendarioCO> siguienteJornada = null; List <ClasificacionCO> clasificacion = null; CompeticionVO competicion = competicionDAO.buscarCompeticionId(connection, null, cod_Competicion); String tipoCompeticion = competicion.Tipo; String foto = competicion.Foto; // if (cod_Competicion != 2) if (tipoCompeticion.Equals("Liga")) { int jornadaNum = Int32.Parse(jornada) + 1; siguienteJornada = calendarioDAO.verCalendarioCompeticionJornada(connection, null, cod_Competicion, Convert.ToString(jornadaNum)); } var resultados = partidoDAO.verPartidosCompeticionJornada(connection, null, cod_Competicion, jornada); //if (cod_Competicion != 2) if (tipoCompeticion.Equals("Liga")) { clasificacion = clasificacionDAO.clasificacionJornadaTemporada(connection, null, cod_Competicion, Int32.Parse(jornada)); } var jornadasCompeticion = partidoDAO.verJornadasCompeticion(connection, null, cod_Competicion); var goleadoresCompeticion = golDAO.listarGoleadoresCompeticion(connection, null, cod_Competicion); return(new EstadoCompeticionCO(clasificacion, siguienteJornada, jornadasCompeticion, resultados, foto, tipoCompeticion, goleadoresCompeticion)); }
public object execute(DbConnection connection, DbTransaction transaction) { var partidoDAO = new PartidoDAO(); var clasificacionDAO = new ClasificacionDAO(); var equiposParticipan = new EquiposParticipanDAO(); var competicionDAO = new CompeticionDAO(); var clasificacion = new List <ClasificacionVO>(); 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; int jornada = clasificacionDAO.obtenerUltimaJornada(connection, transaction, cod_Competicion); var listaEquiposParticipantes = equiposParticipan.verEquiposParticipan(connection, transaction, cod_Competicion); if (clasificacionDAO.listaClasificacionVOsJornadaTemporada(connection, transaction, cod_Competicion, jornada) == null) { int contador = 1; foreach (var equipo in listaEquiposParticipantes) { clasificacion.Add(new ClasificacionVO(cod_Competicion, 0, equipo.Cod_Equipo, contador, 0, 0, 0, 0, 0, 0)); contador++; } jornada = 1; } else { clasificacion = clasificacionDAO.listaClasificacionVOsJornadaTemporada(connection, transaction, cod_Competicion, jornada); int numeroEquiposParticipantes = listaEquiposParticipantes.Count; if (numeroEquiposParticipantes != clasificacion.Count) { throw new InstanceNotFoundException(1, "no hay la clasif justa"); } jornada++; } var listaPartidosJornada = partidoDAO.verPartidosVOCompeticionJornada(connection, transaction, cod_Competicion, Convert.ToString(jornada)); if (listaPartidosJornada.Count != (listaEquiposParticipantes.Count / 2)) { throw new InstanceNotFoundException(1, "no hay los partidos justos"); } foreach (PartidoVO partido in listaPartidosJornada) { 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, jornada, 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, jornada, 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) { clasificacion = actualizarClasificacion(new ClasificacionVO(partido.Cod_Competicion, jornada, partido.Cod_Local, 1, ganadosLocal, perdidosLocal + 1, empatadosLocal, golesFavorLocal + partido.Goles_Local, partido.Goles_Visitante + golesContraLocal, ptosLocal), clasificacion); clasificacion = actualizarClasificacion(new ClasificacionVO(partido.Cod_Competicion, jornada, partido.Cod_Visitante, 1, ganadosVisitante + 1, perdidosVisitante, empatadosVisitante, golesFavorVisitante + partido.Goles_Visitante, partido.Goles_Local + golesContraVisitante, ptosVisitante + 3), clasificacion); } else { clasificacion = actualizarClasificacion(new ClasificacionVO(partido.Cod_Competicion, jornada, partido.Cod_Local, 1, ganadosLocal, perdidosLocal, empatadosLocal + 1, golesFavorLocal + partido.Goles_Local, partido.Goles_Visitante + golesContraLocal, ptosLocal + 1), clasificacion); clasificacion = actualizarClasificacion(new ClasificacionVO(partido.Cod_Competicion, jornada, partido.Cod_Visitante, 1, ganadosVisitante, perdidosVisitante, empatadosVisitante + 1, golesFavorVisitante + partido.Goles_Visitante, partido.Goles_Local + golesContraVisitante, ptosVisitante + 1), clasificacion); } } int posicion = 1; foreach (ClasificacionVO item in clasificacion) { item.Posicion = posicion; clasificacionDAO.create(connection, transaction, item); posicion++; } return(clasificacion); }