/// <summary> /// Verifica si la clave enviada por correo electronico es valida /// </summary> /// <param name="clave">Clave enviada por correo electronico</param> public void VerificarClave(string clave) { bool esClaveCorrecta = false; foreach (var jugador in jugadoresARegistrar) { if (jugador.Key == ObtenerCallbackActual) { if (jugador.Value.ClaveValidacion.Equals(clave)) { esClaveCorrecta = true; try { administradorDatosJugador.GuardarJugador(jugador.Value); } catch (DbUpdateException) { throw new DbUpdateException("Error al agregar nuevo jugador"); } } break; } } if (esClaveCorrecta) { jugadoresARegistrar.Remove(ObtenerCallbackActual); } ObtenerCallbackActual.NotificarResultadoClave(esClaveCorrecta); }
/// <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); }