/// <summary> /// REgistra un nuevo jugador en el sistema /// </summary> /// <param name="jugador">Jugador que se desa registrar</param> public void RegistrarJugador(Jugador jugador) { ResultadoRegistro resultadoRegistro; if (administradorDatosJugador.ExisteNickname(jugador.Nickname)) { resultadoRegistro = ResultadoRegistro.UsuarioYaExiste; } else if (administradorDatosJugador.ExisteCorreoElectronico(jugador.CorreoElectronico)) { resultadoRegistro = ResultadoRegistro.CorreoYaExiste; } else { string claveValidacion = GeneradorClave.GenerarClaveValidacion(); jugador.ClaveValidacion = claveValidacion; try { adminCorreoElectronico.EnviarClaveValidacion(jugador); } catch (SmtpException) { throw new SmtpException(); } jugadoresARegistrar.Add(ObtenerCallbackActual, jugador); resultadoRegistro = ResultadoRegistro.RegistroExitoso; } ObtenerCallbackActual.NotificarRegistro(resultadoRegistro); }
/// <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); }