コード例 #1
0
        /// <summary>
        ///     Recupera las canciones de la bilioteca personal y las muestra
        /// </summary>
        private async void CargarCancionesEnBibliotecaPersonal()
        {
            try
            {
                _cancionesPersonales = await BibliotecaPersonalClient.GetCancionesPersonales();

                ColocarInformacionBibliotecaPersonal();
                ListViewCancionesPersonales.ItemsSource = _cancionesPersonales;
                ListViewCancionesPersonales.Visibility  = Visibility.Visible;
                SinConexionGrid.Visibility = Visibility.Hidden;
            }
            catch (HttpRequestException)
            {
                ListViewCancionesPersonales.Visibility = Visibility.Hidden;
                SinConexionGrid.Visibility             = Visibility.Visible;
            }
            catch (Exception ex)
            {
                if (ex.Message == "AuntenticacionFallida")
                {
                    new MensajeEmergente().MostrarMensajeError("No se puede autentican con las credenciales " +
                                                               "proporcionadas, se cerra la sesion");
                    MainWindow.OcultarMenu();
                    MainWindow.OcultarReproductor();
                    NavigationService?.Navigate(new IniciarSesion());
                }
                else
                {
                    new MensajeEmergente().MostrarMensajeError(ex.Message);
                }
            }
        }
コード例 #2
0
        /// <summary>
        ///     Elimina la cancion seleccionada
        /// </summary>
        /// <param name="sender">El objeto que invoco el evento</param>
        /// <param name="e">El evento invocado</param>
        private async void OnClickEliminarCancion(object sender, RoutedEventArgs e)
        {
            var confirmacion =
                MensajeEmergente.MostrarMensajeConfirmacion("¿Seguro que desea eliminar la cancion seleccionada?");

            if (confirmacion)
            {
                SinConexionGrid.Visibility             = Visibility.Hidden;
                ListViewCancionesPersonales.Visibility = Visibility.Visible;
                var idCancion = (int)((Button)sender).Tag;
                try
                {
                    await BibliotecaPersonalClient.DeteleCancion(idCancion);

                    CargarCancionesEnBibliotecaPersonal();
                }
                catch (HttpRequestException)
                {
                    SinConexionGrid.Visibility             = Visibility.Visible;
                    ListViewCancionesPersonales.Visibility = Visibility.Hidden;
                }
                catch (Exception ex)
                {
                    if (ex.Message == "AuntenticacionFallida")
                    {
                        new MensajeEmergente().MostrarMensajeError("No se puede autentican con las credenciales " +
                                                                   "proporcionadas, se cerrara la sesion");
                        MainWindow.OcultarMenu();
                        MainWindow.OcultarReproductor();
                        NavigationService?.Navigate(new IniciarSesion());
                    }
                    else
                    {
                        new MensajeEmergente().MostrarMensajeError(ex.Message);
                    }
                }
            }
        }
        /// <summary>
        ///     Registra la informacion de una cancion personal y sube la cancion al servidor
        /// </summary>
        private async void RegistrarNuevaCancion()
        {
            if (ValidarNombre() && ValidarArtistas() && ValidarAlbum() && ValidarCancionSeleccionada())
            {
                DeshabilitarElementosPantalla();
                var cancionARegistrar = CrearCancionPersonal();
                try
                {
                    _cancionRegistrada = await BibliotecaPersonalClient.RegisterSong(cancionARegistrar);

                    try
                    {
                        var clienteCanciones = new SongsClient();
                        clienteCanciones.OnPorcentageUp     += SubirPorcentajeAvanza;
                        clienteCanciones.OnUploadTerminated += TerminarSubirCancion;
                        await clienteCanciones.UploadSong(ArchivoSeleccionadoText.Text, _cancionRegistrada.id, true);
                    }
                    catch (RpcException)
                    {
                        new MensajeEmergente().MostrarMensajeError(
                            "No se pudo subir la cancion personal, la puede volver a " +
                            "subir mas adelante");
                        Close();
                    }
                    catch (Exception ex)
                    {
                        if (ex.Message == "AuntenticacionFallida")
                        {
                            new MensajeEmergente().MostrarMensajeError("No se pudo autenticar con el usuario con el " +
                                                                       "cual inicio sesión, se guardo la informacion de la " +
                                                                       "cancion pero no el archivo");
                        }
                        else
                        {
                            new MensajeEmergente().MostrarMensajeError(ex.Message);
                        }
                        Close();
                    }
                }
                catch (HttpRequestException)
                {
                    new MensajeEmergente().MostrarMensajeError("No se puede conectar al servidor, porfavor verifique " +
                                                               "su conexión a internet");
                }
                catch (Exception ex)
                {
                    if (ex.Message == "AuntenticacionFallida")
                    {
                        new MensajeEmergente().MostrarMensajeError("No se pudo autenticar con el usuario con el " +
                                                                   "cual inicio sesión, no se ha guardado la canción");
                        Close();
                    }
                    else
                    {
                        new MensajeEmergente().MostrarMensajeError(ex.Message);
                    }
                }

                HabilitarElementosPantalla();
            }
        }