/// <summary> /// Obtiene una lista de ediciones de un determinado torneo /// autor: Pau Pedrosa /// </summary> /// <param name="idTorneo">Id del torneo</param> /// <returns>Lista genérica de Objeto Ediciones, o null sino existen ediciones de ese torneo</returns> public List <Edicion> obtenerEdicionesPorIdTorneo(int idTorneo) { SqlConnection con = new SqlConnection(cadenaDeConexion); SqlCommand cmd = new SqlCommand(); SqlDataReader dr; List <Edicion> respuesta = new List <Edicion>(); Edicion edicion = null; try { if (con.State == ConnectionState.Closed) { con.Open(); } cmd.Connection = con; string sql = @"SELECT * FROM Ediciones WHERE idTorneo = @idTorneo ORDER BY idEdicion DESC"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@idTorneo", idTorneo); cmd.CommandText = sql; dr = cmd.ExecuteReader(); DAOCancha daoCancha = new DAOCancha(); DAOEdicion daoEdicion = new DAOEdicion(); DAOTipoSuperficie daoTipoSuperficie = new DAOTipoSuperficie(); DAOEstado daoEstado = new DAOEstado(); DAOTorneo daoTorneo = new DAOTorneo(); while (dr.Read()) { edicion = new Edicion(); edicion.idEdicion = Int32.Parse(dr["idEdicion"].ToString()); edicion.nombre = dr["nombre"].ToString(); edicion.tamanioCancha = daoCancha.obtenerTamanioCanchaPorId(Int32.Parse(dr["idTamanioCancha"].ToString())); edicion.tipoSuperficie = daoTipoSuperficie.obtenerTipoSuperficiePorId(Int32.Parse(dr["idTipoSuperficie"].ToString())); edicion.estado = daoEstado.obtenerEstadoPorId(Int32.Parse(dr["idEstado"].ToString())); edicion.cancha = daoCancha.obtenerCanchasDeEdicion(Int32.Parse(dr["idEdicion"].ToString())); edicion.puntosEmpatado = Int32.Parse(dr["puntosEmpatado"].ToString()); edicion.puntosGanado = Int32.Parse(dr["puntosGanado"].ToString()); edicion.puntosPerdido = Int32.Parse(dr["puntosPerdido"].ToString()); edicion.generoEdicion = daoEdicion.obtenerGeneroEdicionPorId(Int32.Parse(dr["idGeneroEdicion"].ToString())); edicion.preferencias = obtenerPreferenciasPorId(edicion.idEdicion); respuesta.Add(edicion); } dr.Close(); return(respuesta); } catch (Exception ex) { throw new Exception(ex.Message); } finally { if (con != null && con.State == ConnectionState.Open) { con.Close(); } } }
/// <summary> /// Obtiene de la BD una edición por Id /// autor: Paula Pedrosa /// </summary> public Edicion obtenerEdicionPorId(int idEdicion) { SqlConnection con = new SqlConnection(cadenaDeConexion); SqlCommand cmd = new SqlCommand(); SqlDataReader dr; Edicion respuesta = null; try { if (con.State == ConnectionState.Closed) { con.Open(); } cmd.Connection = con; string sql = @"SELECT * FROM Ediciones WHERE idEdicion = @idEdicion"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@idEdicion", idEdicion); cmd.CommandText = sql; dr = cmd.ExecuteReader(); DAOTipoSuperficie daoTipoSupericie = new DAOTipoSuperficie(); DAOCancha daoCancha = new DAOCancha(); DAOEstado daoEstado = new DAOEstado(); while (dr.Read()) { respuesta = new Edicion(); respuesta.idEdicion = int.Parse(dr["idEdicion"].ToString()); respuesta.nombre = dr["nombre"].ToString(); respuesta.tipoSuperficie = daoTipoSupericie.obtenerTipoSuperficiePorId(int.Parse(dr["idTipoSuperficie"].ToString())); respuesta.tamanioCancha = daoCancha.obtenerTamanioCanchaPorId(int.Parse(dr["idTamanioCancha"].ToString())); respuesta.puntosPerdido = int.Parse(dr["puntosPerdido"].ToString()); respuesta.puntosEmpatado = int.Parse(dr["puntosEmpatado"].ToString()); respuesta.puntosGanado = int.Parse(dr["puntosGanado"].ToString()); respuesta.generoEdicion = obtenerGeneroEdicionPorId(int.Parse(dr["idGeneroEdicion"].ToString())); respuesta.preferencias = obtenerPreferenciasPorId(int.Parse(dr["idEdicion"].ToString())); respuesta.estado = daoEstado.obtenerEstadoPorId(int.Parse(dr["idEstado"].ToString())); } if (dr != null) { dr.Close(); } return(respuesta); } catch (Exception ex) { throw new Exception("Error al intentar recuperar la Edición: " + ex.Message); } finally { if (con != null && con.State == ConnectionState.Open) { con.Close(); } } }
/// <summary> /// Obtiene las fechas de una fase /// autor: Flor Rojas /// </summary> public void obtenerFechas(Fase fase, SqlConnection con) { SqlDataReader dr; SqlCommand cmd = new SqlCommand(); try { if (con.State == ConnectionState.Closed) { con.Open(); } cmd.Connection = con; foreach (Grupo g in fase.grupos) { cmd.Parameters.Clear(); cmd.Connection = con; string sql = @"SELECT * FROM Fechas WHERE idGrupo = @idGrupo AND idFase = @idFase AND idEdicion = @idEdicion"; cmd.Parameters.AddWithValue("@idGrupo", g.idGrupo); cmd.Parameters.AddWithValue("@idFase", fase.idFase); cmd.Parameters.AddWithValue("@idEdicion", fase.idEdicion); cmd.CommandText = sql; dr = cmd.ExecuteReader(); DAOEstado daoEstado = new DAOEstado(); while (dr.Read()) { Fecha fecha = new Fecha() { idFecha = int.Parse(dr["idFecha"].ToString()), estado = daoEstado.obtenerEstadoPorId(int.Parse(dr["idEstado"].ToString())), nombre = dr["nombre"].ToString(), nombreCompleto = "Fecha " + int.Parse(dr["idFecha"].ToString()) }; g.fechas.Add(fecha); } if (dr != null) { dr.Close(); } } } catch (Exception ex) { throw new Exception("No se pudo obtener los datos de la fecha" + ex.Message); } finally { if (con != null && con.State == ConnectionState.Open) { con.Close(); } } }
public Fase obtenerFasePorId(int idEdicion, int idFase) { SqlConnection con = new SqlConnection(cadenaDeConexion); SqlCommand cmd = new SqlCommand(); SqlDataReader dr; Fase fase = null; try { if (con.State == ConnectionState.Closed) { con.Open(); } cmd.Connection = con; string sql = @"SELECT * FROM Fases WHERE idEdicion = @idEdicion AND idFase = @idFase"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@idEdicion", idEdicion); cmd.Parameters.AddWithValue("@idFase", idFase); cmd.CommandText = sql; dr = cmd.ExecuteReader(); DAOEstado daoEstado = new DAOEstado(); while (dr.Read()) { fase = new Fase() { idFase = int.Parse(dr["idFase"].ToString()), idEdicion = idEdicion, estado = daoEstado.obtenerEstadoPorId(int.Parse(dr["idEstado"].ToString())), tipoFixture = new TipoFixture(dr["tipoFixture"].ToString()) }; } if (dr != null) { dr.Close(); } return(fase); } catch (Exception ex) { throw new Exception("Error al intentar recuperar la fase: " + ex.Message); } finally { if (con != null && con.State == ConnectionState.Open) { con.Close(); } } }
/// <summary> /// Obtiene las fases de una edición por Id. Si no tiene devuelve lista vacia /// autor: Florencia Rojas /// </summary> public List <Fase> obtenerFases(int idEdicion) { SqlConnection con = new SqlConnection(cadenaDeConexion); SqlCommand cmd = new SqlCommand(); SqlDataReader dr; List <Fase> fases = new List <Fase>(); DAOGrupo daoGrupo = new DAOGrupo(); DAOFecha daoFecha = new DAOFecha(); DAOPartido daoPartido = new DAOPartido(); try { if (con.State == ConnectionState.Closed) { con.Open(); } cmd.Connection = con; string sql = @"SELECT * FROM Fases WHERE idEdicion = @idEdicion"; cmd.Parameters.Clear(); cmd.Parameters.AddWithValue("@idEdicion", idEdicion); cmd.CommandText = sql; dr = cmd.ExecuteReader(); DAOEstado daoEstado = new DAOEstado(); while (dr.Read()) { Fase fase = new Fase() { idFase = int.Parse(dr["idFase"].ToString()), idEdicion = idEdicion, estado = daoEstado.obtenerEstadoPorId(int.Parse(dr["idEstado"].ToString())), tipoFixture = new TipoFixture(dr["tipoFixture"].ToString()), equipos = new List <Equipo>(), cantidadDeEquipos = (dr["cantidadEquipos"] != DBNull.Value) ? int.Parse(dr["cantidadEquipos"].ToString()) : 0, cantidadDeGrupos = (dr["cantidadGrupos"] != DBNull.Value) ? int.Parse(dr["cantidadGrupos"].ToString()) : 0, esGenerica = (dr["cantidadEquipos"] != DBNull.Value) // si el valor del campo cantidadEquipos es Null, entonecs se trata de una fase generica. }; fases.Add(fase); } if (dr != null) { dr.Close(); } foreach (Fase fase in fases) { if (!fase.esGenerica) { daoGrupo.obtenerGrupos(fase, con, true); daoFecha.obtenerFechas(fase, con); daoPartido.obtenerPartidos(fase, con); foreach (Grupo grupo in fase.grupos) { fase.equipos.AddRange(grupo.equipos); } } } return(fases); } catch (Exception ex) { throw new Exception("Error al intentar recuperar las fases de una Edición: " + ex.Message); } finally { if (con != null && con.State == ConnectionState.Open) { con.Close(); } } }