public CancionesSinConexion()
 {
     InitializeComponent();
     ObtenerCancionesSinConexion();
     ColocarInformacionCanciones();
     ManejadorCancionesSinConexion.GetManejadorDeCancionesSinConexion().OnActualizacionElementosCola +=
         ObtenerCancionesSinConexion;
 }
 private void OnClickDescargar(object sender, RoutedEventArgs e)
 {
     if (_cancionActual != null)
     {
         ManejadorCancionesSinConexion.GetManejadorDeCancionesSinConexion()
         .AgregarCancionSinConexion(_cancionActual);
     }
 }
 /// <summary>
 ///     Revisa si el manejador de archivos no esta almancenando una cancion y guarda la informacion de los usuarios
 /// </summary>
 /// <param name="sender">El objeto que invoco el evento</param>
 /// <param name="e">El evento invocado</param>
 private void OnClose(object sender, EventArgs e)
 {
     while (!ManejadorCancionesSinConexion.GetManejadorDeCancionesSinConexion().SePuedeCerrarLaApp())
     {
         Thread.Sleep(1000);
     }
     ManejadorCancionesSinConexion.GetManejadorDeCancionesSinConexion().TerminarDeDescargarCanciones();
     ManejadorDeUsuariosLogeados.GetManejadorDeUsuariosLogeados().GuardarInformacionUsuarios();
 }
        /// <summary>
        ///     Coloca una cancion a la cola de descargas
        /// </summary>
        /// <param name="sender">El objeto que invoco el evento</param>
        /// <param name="e">El evento invocado</param>
        private void OnClickDescargar(object sender, RoutedEventArgs e)
        {
            var idCancion = (int)((Button)sender).Tag;
            var cancion   = BuscarCancionEnAlbumes(idCancion);

            if (cancion != null)
            {
                cancion.album = BuscarAlbumDeCancion(idCancion);
                ManejadorCancionesSinConexion.GetManejadorDeCancionesSinConexion().AgregarCancionSinConexion(cancion);
            }
        }
 public void OnClickCerrarSesion(object sender, RoutedEventArgs routedEventArgs)
 {
     LimpiarReproductor();
     LimpiarElementosReproductor();
     while (!ManejadorCancionesSinConexion.GetManejadorDeCancionesSinConexion().SePuedeCerrarLaApp())
     {
         Thread.Sleep(1000);
     }
     ManejadorCancionesSinConexion.GetManejadorDeCancionesSinConexion().TerminarDeDescargarCanciones();
     ManejadorDeUsuariosLogeados.GetManejadorDeUsuariosLogeados().CerrarSesionUsuario();
     OcultarMenu();
     OcultarReproductor();
     PantallaFrame.Navigate(new IniciarSesion());
 }
        /// <summary>
        ///     Recupera las canciones sin conexion del usuario y las pendientes de descarga y las coloca en los text view
        /// </summary>
        private void ObtenerCancionesSinConexion()
        {
            var usuarioActual      = ManejadorDeUsuariosLogeados.GetManejadorDeUsuariosLogeados().ObtenerUsuarioLogeado();
            var cancionDescargando = ManejadorCancionesSinConexion.GetManejadorDeCancionesSinConexion()
                                     .GetCancionDescargando();

            _cancionesPendientes = new List <CancionSinConexion>();
            if (cancionDescargando != null)
            {
                _cancionesPendientes.Add(cancionDescargando);
            }
            _cancionesPendientes.AddRange(usuarioActual.canciones_pendientes_descarga);
            _cancionesDescargadas = usuarioActual.canciones_sin_conexion;
            ListViewCancionesDescargadas.ItemsSource           = null;
            ListViewCancionesDescargadas.ItemsSource           = _cancionesDescargadas;
            ListViewCancionesSinConexionPendientes.ItemsSource = null;
            ListViewCancionesSinConexionPendientes.ItemsSource = _cancionesPendientes;
            ColocarInformacionCanciones();
        }