示例#1
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);
            }
        }