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