private async void CargarCancionesDescargadas() { if (CargarCancionesDescargadasLibre) { CargarCancionesDescargadasLibre = false; List <int> idsCancionesDescargadas = ServiciosDeIO.ListarCancionesDescargadas(); List <Cancion> cancionesDescargadas = new List <Cancion>(); foreach (int idCancion in idsCancionesDescargadas) { if (ModoConectado) { CancionDAO cancionDAO = new CancionDAO(UsuarioActual.Token); try { cancionesDescargadas.Add(await cancionDAO.CargarPorId(idCancion)); } catch (Exception ex) { MensajeDeErrorParaMessageBox mensaje = EncadenadorDeExcepciones.ManejarExcepcion(ex); MessageBox.Show(mensaje.Mensaje, mensaje.Titulo); return; } } else { cancionesDescargadas.Add(ServiciosDeIO.ObtenerCancionLocal(idCancion)); } } ListaDeCancionesDescargadas.AsignarCanciones(cancionesDescargadas); if (ModoConectado) { if (cancionesDescargadas.Count == 1 && cancionesDescargadas[0].Id == 0) { ListaDeCancionesDescargadas.Visibility = Visibility.Collapsed; LabelNoHayCancionesDescargadas.Visibility = Visibility.Visible; } else { ListaDeCancionesDescargadas.Visibility = Visibility.Visible; LabelNoHayCancionesDescargadas.Visibility = Visibility.Collapsed; ListaDeCancionesDescargadas.AsignarCanciones(cancionesDescargadas); await CargarArtistasDeCanciones(cancionesDescargadas); ListaDeCancionesDescargadas.AsignarCanciones(cancionesDescargadas); await CargarAlbumDeCanciones(cancionesDescargadas); ListaDeCancionesDescargadas.AsignarCanciones(cancionesDescargadas); } } CargarCancionesDescargadasLibre = true; } }