/// <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(); } } }