/// <summary>
        /// Envia los datos del nuevo usuario verificados al servidor para ser registrado.
        /// </summary>
        /// <param name="sender">Botón de reistrarse.</param>
        /// <param name="e">Evento de click.</param>
        /// <exception cref="System.ServiceModel.EndpointNotFoundException">
        /// Arrojada cuando no hay conexión con el servidor.
        /// </exception>
        private void Button_Registrarse(object sender, RoutedEventArgs e)
        {
            if (!ValidarCampos() || !ValidarFormatoCorreo())
            {
                return;
            }
            ServidorJuegoSE.AdministradorCuentaClient cliente = new ServidorJuegoSE.AdministradorCuentaClient();
            ServidorJuegoSE.Cuenta cuenta = new ServidorJuegoSE.Cuenta()
            {
                Correo = textBox_CorreoElectronico.Text, Contraseña = passwordBox_Contraseña.Password
            };
            ServidorJuegoSE.Jugador jugador = new ServidorJuegoSE.Jugador()
            {
                Apodo = textBox_Apodo.Text, Nombre = textBox_NombreUsuario.Text, Apellidos = textBox_Apellidos.Text
            };
            int respuesta;

            try
            {
                respuesta = cliente.RegistrarJugador(jugador, cuenta);
                if (respuesta == (int)EstadoDeOperacion.OperacionExitosa)
                {
                    cliente.EnviarCorreo(cuenta);
                    IngresarCodigo ingresarCodigo = new IngresarCodigo(cuenta);
                    ingresarCodigo.Show();
                    this.Close();
                }
            }
            catch (System.ServiceModel.EndpointNotFoundException)
            {
                MessageBox.Show(Properties.Resources.errorConexionServidor, Properties.Resources.tituloErrorConexion, MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            if (respuesta == (int)EstadoDeOperacion.JugadorEncontrado)
            {
                string usuarioRepetido = Properties.Resources.usuarioRepetido;
                MessageBox.Show(usuarioRepetido);
                return;
            }
            if (respuesta == (int)EstadoDeOperacion.CuentaEncontrada)
            {
                string correoRepetido = Properties.Resources.correoRepetido;
                MessageBox.Show(correoRepetido);
                return;
            }
            if (respuesta == (int)EstadoDeOperacion.ErrorConexionBD || respuesta == (int)EstadoDeOperacion.Excepcion)
            {
                MessageBox.Show(Properties.Resources.errorConexionBaseDatos, Properties.Resources.tituloErrorConexion, MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
示例#2
0
        /// <summary>
        /// Llama al servidor para iniciar sesión con el correo y la contraseña y abre el menú principal.
        /// Abre la ventana de ingresar código de activación de cuenta si la cuenta no está activada.
        /// </summary>
        /// <param name="sender">Botón de iniciar sesión.</param>
        /// <param name="e">Evento Click.</param>
        /// <exception cref="System.ServiceModel.EndpointNotFoundException">
        /// Arrojada cuando no hay conexión con el servidor.
        /// </exception>
        private void Button_IniciarSesion(object sender, RoutedEventArgs e)
        {
            String correoIngresado     = textBox_Usuario.Text;
            String contraseñaIngresada = passwordBox_contraseña.Password;

            if (!ValidarCamposVacios() || !ValidarFormatoCorreo())
            {
                return;
            }
            ServidorJuegoSE.AdministradorCuentaClient cliente = new ServidorJuegoSE.AdministradorCuentaClient();
            ServidorJuegoSE.Cuenta cuenta = new ServidorJuegoSE.Cuenta()
            {
                Correo = correoIngresado, Contraseña = contraseñaIngresada
            };
            ServidorJuegoSE.Jugador jugador;
            try
            {
                jugador = cliente.IniciarSesion(cuenta);
                cuenta  = cliente.VerificarCuenta(cuenta);
            }
            catch (System.ServiceModel.EndpointNotFoundException)
            {
                MessageBox.Show(Properties.Resources.errorConexionServidor, Properties.Resources.tituloErrorConexion, MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            if (jugador != null && cuenta != null)
            {
                if (cuenta.Correo.Equals(ERRORBD) || jugador.Apodo.Equals(ERRORBD))
                {
                    MessageBox.Show(Properties.Resources.errorConexionBaseDatos, Properties.Resources.tituloErrorConexion, MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                if (cuenta.Validada)
                {
                    MenuPrincipal ventanaPrincipal = new MenuPrincipal(jugador);
                    ventanaPrincipal.Show();
                    this.Close();
                }
                else
                {
                    IngresarCodigo ventanaIngresarCodigo = new IngresarCodigo(cuenta);
                    ventanaIngresarCodigo.Show();
                    this.Close();
                }
            }
            else
            {
                MessageBox.Show(Properties.Resources.usuarioContraseñaInvalidas);
            }
        }