/// <summary>
        /// Lógica para actualizar la contraseña de un Jugador.
        /// </summary>
        /// <param name="contrasenia">Nueva contraseña</param>
        public void ActualizarContrasenia(string contrasenia)
        {
            bool recuperacionTerminada = false;


            foreach (var jugador in jugadoresARecuperar)
            {
                if (jugador.Key == ObtenerCallbackRecuperacion)
                {
                    try
                    {
                        administradorDatosJugador.ActualizarContrasenia(jugador.Value, contrasenia);
                        recuperacionTerminada = true;
                    }
                    catch (DbUpdateException)
                    {
                        throw new DbUpdateException("Error al agregar nuevo jugador");
                    }
                    break;
                }
            }

            if (recuperacionTerminada)
            {
                jugadoresARecuperar.Remove(ObtenerCallbackRecuperacion);
            }

            ObtenerCallbackRecuperacion.NotificarResultadoRecuperacion(recuperacionTerminada);
        }
        /// <summary>
        /// Lógica para enviar la clave recuperación de cuenta.
        /// </summary>
        /// <param name="infoJugador">Jugador al que se enviará la clave</param>
        /// <exception cref="SmtpException"></exception>
        public void EnviarClaveRecuperacion(Jugador infoJugador)
        {
            bool ClaveEnviada;

            if (administradorDatosJugador.ExisteCorreoElectronico(infoJugador.CorreoElectronico))
            {
                try
                {
                    string claveValidacion = GeneradorClave.GenerarClaveValidacion();

                    adminCorreoElectronico.EnviarClaveRecuperacion(infoJugador.CorreoElectronico, claveValidacion);
                    infoJugador.ClaveValidacion = claveValidacion;
                    jugadoresARecuperar.Add(ObtenerCallbackRecuperacion, infoJugador);

                    ClaveEnviada = true;
                }
                catch (SmtpException)
                {
                    throw new SmtpException();
                }
            }
            else
            {
                ClaveEnviada = false;
            }

            ObtenerCallbackRecuperacion.NotificarEnvioClave(ClaveEnviada);
        }
        /// <summary>
        /// Lógica para verificar la clave de recuperación.
        /// </summary>
        /// <param name="clave">Clave a verificar</param>
        /// <exception cref="SmtpException"></exception>
        public void VerificarClaveRecuperacion(string clave)
        {
            bool esClaveCorrecta = false;

            foreach (var jugador in jugadoresARecuperar)
            {
                if (jugador.Key == ObtenerCallbackRecuperacion)
                {
                    if (jugador.Value.ClaveValidacion.Equals(clave))
                    {
                        esClaveCorrecta = true;
                    }
                    break;
                }
            }

            ObtenerCallbackRecuperacion.NotificarResultadoVerificación(esClaveCorrecta);
        }