/// <summary>
 /// Constructor de la ventana partida, muestra la lista de las partidas
 /// </summary>
 /// <param name="jugadorRecibido"> Jugador que busca las partidas</param>
 public BuscarPartida(ServicioErstick2.Jugador jugadorRecibido)
 {
     jugador = jugadorRecibido;
     InitializeComponent();
     lobby      = new MainWindow(jugadorRecibido);
     listaSalas = lobby.ConsultarPartidasDisponibles();
     dataGrid_Partidas.ItemsSource = listaSalas;
 }
 /// <summary>
 /// Método que muestra los puntajes del jugador que recibe como parametro, tambien muestra los
 /// puntajes de todas las partidas.
 /// </summary>
 /// <param name="jugadorRecibido"></param>
 public ConsultarPuntajes(ServicioErstick2.Jugador jugadorRecibido)
 {
     jugador = jugadorRecibido;
     InitializeComponent();
     ServicioErstick2.ControlCuentaClient cliente = new ServicioErstick2.ControlCuentaClient();
     DataGrid_MisPuntajes.ItemsSource     = cliente.ConsultarPuntajesPropios(jugador);
     DataGrid_MejoresPuntajes.ItemsSource = cliente.ConsultarMejoresPuntajes();
 }
 public EntrarLobby(ServicioErstick2.Jugador jugadorRecibido)
 {
     jugador = jugadorRecibido;
     InitializeComponent();
     musicaFondo.MediaOpened += SoundTrackCargado;
     musicaFondo.MediaEnded  += SoundTrackFinalizado;
     musicaFondo.Open(new Uri("C:/Users/Acous/Downloads/amongUsFondo.mp3"));
 }
        /// <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)
        {
            sonidoBoton.Play();
            if (!ValidarCampos() || !ValidarFormatoCorreo())
            {
                return;
            }
            ServicioErstick2.ControlCuentaClient cliente = new ServicioErstick2.ControlCuentaClient();
            ServicioErstick2.Cuenta cuenta = new ServicioErstick2.Cuenta()
            {
                Correo = textBox_CorreoElectronico.Text, Contraseña = passwordBox_Contraseña.Password
            };
            ServicioErstick2.Jugador jugador = new ServicioErstick2.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);
            }
        }
 /// <summary>
 /// Constructor de la ventana de juego que inicializa las configuraciones y jugadores
 /// para el comienzo de la partida.
 /// </summary>
 /// <param name="jugadorRecibido"></param>
 /// <param name="salaRecibida"></param>
 /// <param name="regresoMensaje"></param>
 public Juego(ServicioErstick2.Jugador jugadorRecibido, ServicioErstick2.Sala salaRecibida, CallbackJuego regresoMensaje)
 {
     Jugador      = jugadorRecibido;
     Sala         = salaRecibida;
     regresoJuego = regresoMensaje;
     palabra      = salaRecibida.Palabra;
     InitializeComponent();
     listBox_Chat.ItemsSource = Chat;
     listBox_JugadoresConectados.ItemsSource = JugadoresConectados;
     regresoJuego.Juego  = this;
     ErroresJugador      = 0;
     contexto            = new InstanceContext(regresoJuego);
     ClienteMultijugador = new ServicioErstick2.ControlJuegoClient(contexto);
 }
        private void Boton_Salir_Click(object sender, RoutedEventArgs e)
        {
            sonidoBoton.Play();
            ServicioErstick2.ControlCuentaClient cliente = new ServicioErstick2.ControlCuentaClient();

            try
            {
                jugador = cliente.CerrarSesion(jugador);
            }
            catch (System.ServiceModel.EndpointNotFoundException)
            {
                MessageBox.Show(Properties.Resources.errorConexionServidor, Properties.Resources.tituloErrorConexion, MessageBoxButton.OK, MessageBoxImage.Error);
                return;
            }
            if (jugador != null)
            {
                if (jugador.Apodo.Equals(ERRORBD))
                {
                    MessageBox.Show(Properties.Resources.errorConexionBaseDatos, Properties.Resources.tituloErrorConexion, MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                if (jugador.Apodo.Equals(ERRORCERRAR))
                {
                    MessageBox.Show(Properties.Resources.errorUsuarioDesconectado, Properties.Resources.tituloErrorConexion, MessageBoxButton.OK, MessageBoxImage.Error);
                    return;
                }
                else
                {
                    Login Login = new Login();
                    Login.Show();
                    this.Close();
                    musicaFondo.Stop();
                }
            }
            else
            {
                MessageBox.Show(Properties.Resources.errorUsuarioDesconectado);
            }
        }