Ejemplo n.º 1
0
        /// <summary>
        /// Modifica en la BD el equipo
        /// autor: Pau Pedrosa
        /// </summary>
        /// <param name="equipo">Objeto Equipo a modificar con sus nuevos datos</param>
        public void modificarEquipo(Equipo equipo)
        {
            SqlConnection  con   = new SqlConnection(cadenaDeConexion);
            SqlCommand     cmd   = new SqlCommand();
            SqlTransaction trans = null;

            try
            {
                if (con.State == ConnectionState.Closed)
                {
                    con.Open();
                }
                trans = con.BeginTransaction();
                //registra los delegados en la BD
                DAODelegado daoDelegado = new DAODelegado();
                if (equipo.delegadoPrincipal != null)
                {
                    equipo.delegadoPrincipal.idDelegado = daoDelegado.registrarDelegado(equipo.delegadoPrincipal, con, trans);
                }
                if (equipo.delegadoOpcional != null)
                {
                    equipo.delegadoOpcional.idDelegado = daoDelegado.registrarDelegado(equipo.delegadoOpcional, con, trans);
                }

                cmd.Connection  = con;
                cmd.Transaction = trans;
                cmd.Parameters.Clear();
                string sql = @"UPDATE Equipos
                                SET nombre = @nombreEquipo, colorCamisetaPrimario = @colorCamisetaPrimario,
                                colorCamisetaSecundario = @colorCamisetaSecundario, directorTecnico = @directorTecnico,
                                idDelegadoPrincipal = @idDelegadoPrincipal, idDelegadoOpcional = @idDelegadoOpcional
                                WHERE idEquipo = @idEquipo";
                cmd.Parameters.AddWithValue("@nombreEquipo", equipo.nombre);
                cmd.Parameters.AddWithValue("@colorCamisetaPrimario", equipo.colorCamisetaPrimario);
                cmd.Parameters.AddWithValue("@colorCamisetaSecundario", equipo.colorCamisetaSecundario);
                cmd.Parameters.AddWithValue("@directorTecnico", equipo.directorTecnico);
                cmd.Parameters.AddWithValue("@idDelegadoPrincipal", equipo.delegadoPrincipal.idDelegado);
                cmd.Parameters.AddWithValue("@idEquipo", equipo.idEquipo);
                if (equipo.delegadoOpcional != null)
                {
                    cmd.Parameters.AddWithValue("@idDelegadoOpcional", equipo.delegadoOpcional.idDelegado);
                }
                else
                {
                    cmd.Parameters.AddWithValue("@idDelegadoOpcional", DBNull.Value);
                }
                cmd.CommandText = sql;
                cmd.ExecuteNonQuery();
                trans.Commit();
            }
            catch (Exception ex)
            {
                trans.Rollback();
                //Si ya existe un equipo con ese nombre en ese torneo
                if (ex.Message.Contains("unique_nombre_idTorneo"))
                {
                    throw new Exception("Ya existe un equipo registrado con este nombre, por favor cambielo e intente nuevamente.");
                }
                throw new Exception("No se pudo modificar el equipo: " + ex.Message);
            }
            finally
            {
                if (con != null && con.State == ConnectionState.Open)
                {
                    con.Close();
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Registrar un nuevo Equipo en un torneo en la BD, junto a sus delegados
        /// autor: Pau Pedrosa
        /// </summary>
        /// <param name="equipo">El objeto Equipo que se va a registrar</param>
        /// <param name="idTorneo">Id del torneo al que pertenece el equipo</param>
        /// <returns>El id del equipo registrado</returns>
        public int registrarEquipo(Equipo equipo, int idTorneo)
        {
            SqlConnection  con   = new SqlConnection(cadenaDeConexion);
            SqlCommand     cmd   = new SqlCommand();
            SqlTransaction trans = null;

            try
            {
                if (con.State == ConnectionState.Closed)
                {
                    con.Open();
                }
                trans = con.BeginTransaction();
                DAODelegado daoDelegado = new DAODelegado();
                //registra delegado en la BD
                if (equipo.delegadoPrincipal != null)
                {
                    equipo.delegadoPrincipal.idDelegado = daoDelegado.registrarDelegado(equipo.delegadoPrincipal, con, trans);
                }
                if (equipo.delegadoOpcional != null)
                {
                    equipo.delegadoOpcional.idDelegado = daoDelegado.registrarDelegado(equipo.delegadoOpcional, con, trans);
                }
                cmd.Connection  = con;
                cmd.Transaction = trans;
                string sql = @"INSERT INTO Equipos (nombre, colorCamisetaPrimario, colorCamisetaSecundario, directorTecnico, idDelegadoPrincipal, idDelegadoOpcional, idTorneo)
                                    VALUES (@nombre, @colorCamisetaPrimario, @colorCamisetaSecundario, @directorTecnico , @idDelegadoPrincipal, @idDelegadoOpcional, @idTorneo)
                                    SELECT SCOPE_IDENTITY()";
                cmd.Parameters.Clear();
                cmd.Parameters.AddWithValue("@nombre", equipo.nombre);
                cmd.Parameters.AddWithValue("@colorCamisetaPrimario", equipo.colorCamisetaPrimario);
                cmd.Parameters.AddWithValue("@colorCamisetaSecundario", equipo.colorCamisetaSecundario);
                cmd.Parameters.AddWithValue("@directorTecnico", equipo.directorTecnico);
                if (equipo.delegadoPrincipal != null)
                {
                    cmd.Parameters.AddWithValue("@idDelegadoPrincipal", equipo.delegadoPrincipal.idDelegado);
                }
                else
                {
                    cmd.Parameters.AddWithValue("@idDelegadoPrincipal", DBNull.Value);
                }
                if (equipo.delegadoOpcional != null)
                {
                    cmd.Parameters.AddWithValue("@idDelegadoOpcional", equipo.delegadoOpcional.idDelegado);
                }
                else
                {
                    cmd.Parameters.AddWithValue("@idDelegadoOpcional", DBNull.Value);
                }
                cmd.Parameters.AddWithValue("@idTorneo", idTorneo);
                cmd.CommandText = sql;
                int idEquipo = int.Parse(cmd.ExecuteScalar().ToString());
                trans.Commit();
                return(idEquipo); //retorna el id del equipo generado por la BD
            }
            catch (SqlException ex)
            {   //excepción de BD, por clave unique
                trans.Rollback();
                if (ex.Class == 14 && ex.Number == 2601)
                {
                    throw new Exception("El equipo " + equipo.nombre + " ya se encuentra registrado. Ingrese otro nombre para el equipo.");
                }
                else
                {
                    throw new Exception("No se pudo registrar el equipo: " + ex.Message);
                }
            }
            finally
            {
                if (con != null && con.State == ConnectionState.Open)
                {
                    con.Close();
                }
            }
        }