/// <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); } }