/// <summary>
        /// Elimina un equipo de la BD
        /// autor: Pau Pedrosa
        /// </summary>
        /// <param name="idCancha">Id del equipo a eliminar</param>
        public void eliminarEquipo(int idEquipo)
        {
            DAOEquipo daoEquipo = new DAOEquipo();

            daoEquipo.eliminarEquipo(idEquipo);
            GestorImagen.borrrarImagen(idEquipo, GestorImagen.EQUIPO);
        }
        /// <summary>
        /// Obtiene los Equipos de un Torneo
        /// autor: Pau Pedrosa
        /// </summary>
        /// <returns>Lista genérica de objetos Equipos</returns>
        public List <Equipo> obtenerEquiposDeUnTorneo(int idTorneo)
        {
            DAOEquipo daoEquipo = new DAOEquipo();
            //int idTorneo = Sesion.getTorneo().idTorneo;
            List <Equipo> equipos = daoEquipo.obtenerEquiposDeUnTorneo(idTorneo);

            return(equipos);
        }
        /// <summary>
        /// Registra en la Bd el objeto equipo actual.
        /// autor: Facundo Allemand
        /// </summary>
        public void registrarEquipo(string nombre, string colorCamisetaPrimario, string colorCamisetaSecundario, string directorTecnico)
        {
            if (equipo == null)
            {
                equipo = new Equipo();
            }
            if (equipo.delegadoPrincipal == null && equipo.delegadoOpcional == null)
            {
                throw new Exception("Debe cargar al menos un delegado");
            }
            equipo.nombre = nombre;
            equipo.colorCamisetaPrimario   = colorCamisetaPrimario;
            equipo.colorCamisetaSecundario = colorCamisetaSecundario;
            equipo.directorTecnico         = directorTecnico;
            int       idTorneo  = Sesion.getTorneo().idTorneo;
            DAOEquipo daoEquipo = new DAOEquipo();

            equipo.idEquipo = daoEquipo.registrarEquipo(equipo, idTorneo);
        }
        /// <summary>
        /// Modifica el equipo
        /// autor: Pau Pedrosa
        /// </summary>
        public void modificarEquipo(int idEquipo, string nombre, string colorCamisetaPrimario, string colorCamisetaSecundario, string directorTecnico)
        {
            DAOEquipo       daoEquipo            = new DAOEquipo();
            DAODelegado     daoDelegado          = new DAODelegado();
            List <Delegado> delegadosModificados = obtenerDelegados();

            if (delegadosModificados.Count == 0)
            {
                throw new Exception("Debe ingresar al menos un delegado");
            }
            equipo = daoEquipo.obtenerEquipoPorId(idEquipo); // Obtiene el equipo a modificar de la BD
            // Elimina los delegados de la BD, y setea NULL en las claves foráneas de la tabla Equipo
            daoDelegado.eliminarDelegadosPorEquipo(equipo);
            equipo.nombre = nombre;
            equipo.colorCamisetaPrimario   = colorCamisetaPrimario;
            equipo.colorCamisetaSecundario = colorCamisetaSecundario;
            equipo.directorTecnico         = directorTecnico;
            //le setea null a los delegados, para sobreescribirlos con los nuevos delegados
            equipo.delegadoPrincipal = null;
            equipo.delegadoOpcional  = null;
            int i = 0;

            foreach (Delegado delegado in delegadosModificados)
            {
                if (i == 0)                              // primera vez que entra al foreach
                {
                    equipo.delegadoPrincipal = delegado; //si es la 1° vez, el delegado va ser el delegado principal
                }
                else
                {
                    equipo.delegadoOpcional = delegado;//si es la 2° vez, el delegado va ser el delegado opcional
                }
                i++;
            }
            daoEquipo.modificarEquipo(equipo);
        }
        public List <Jugador> goleadoresDeUnEquipo(int idEquipo, int idEdicion)
        {
            DAOEquipo daoEquipo = new DAOEquipo();

            return(daoEquipo.goleadoresDeUnEquipo(idEquipo, idEdicion));
        }
        /// <summary>
        /// Obtiene un Equipo por Id, pero el objeto no tiene todos sus atributos, solo el nombre y el ID.
        /// autor: Antonio Herrera
        /// </summary>
        public Equipo obtenerEquipoReducidoPorId(int idEquipo)
        {
            DAOEquipo daoEquipo = new DAOEquipo();

            return(daoEquipo.obtenerEquipoReducidoPorId(idEquipo));
        }
        public List <Jugador> jugadoresDeUnEquipo(int idEdicion, int idEquipo)
        {
            DAOEquipo daoEquipo = new DAOEquipo();

            return(daoEquipo.jugadoresDeUnEquipo(idEdicion, idEquipo));
        }
        /// <summary>
        /// Obtiene el equipo a modificar
        /// autor: Pau Pedrosa
        /// </summary>
        /// <param name="idEquipo">id del equipo a modificar</param>
        public void obtenerEquipoAModificar(int idEquipo)
        {
            DAOEquipo daoEquipo = new DAOEquipo();

            equipo = daoEquipo.obtenerEquipoPorId(idEquipo);
        }