Пример #1
0
        /// <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);
        }
Пример #2
0
        /// <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);
        }