/// <summary> /// Recupera las imagenes de las canciones /// </summary> private async void ColocarImagenesCanciones() { CancionesListView.IsEnabled = false; var clientePortadas = new CoversClient(); foreach (var cancion in _canciones) { try { var bitmap = await clientePortadas.GetAlbumCover(cancion.album.id, Calidad.Baja); if (bitmap != null) { cancion.album.PortadaImagen = ImagenUtil.CrearBitmapDeMemory(bitmap); } else { cancion.album.PortadaImagen = (BitmapImage)FindResource("Cancion"); } CancionesListView.ItemsSource = null; CancionesListView.ItemsSource = _canciones; } catch (Exception) { cancion.album.PortadaImagen = (BitmapImage)FindResource("Cancion"); } } CancionesListView.IsEnabled = true; }
/// <summary> /// Recupera la imagen del Album y la coloca /// </summary> private async void ColocarImagenesAlbumes() { if (_albums != null) { var clientePortadas = new CoversClient(); foreach (var album in _albums) { try { var bitmap = await clientePortadas.GetAlbumCover(album.id, Calidad.Baja); if (bitmap != null) { album.PortadaImagen = ImagenUtil.CrearBitmapDeMemory(bitmap); } else { album.PortadaImagen = (BitmapImage)FindResource("AlbumDesconocido"); } } catch (Exception) { album.PortadaImagen = (BitmapImage)FindResource("AlbumDesconocido"); } } AlbumsListView.ItemsSource = null; AlbumsListView.ItemsSource = _albums; } }
/// <summary> /// Edita la informacion de un creador de contenido en base a lo que hay en los campos /// </summary> private async void EditarCreadorDeContenido() { if (ValidarTextBoxNombre() && ValidarTextBoxBiografia()) { cancelarButton.IsEnabled = false; registrarCreadorButton.IsEnabled = false; ActualizarCreadorDeContenidoAPartirDeCampos(); var editado = false; try { _creadorContenidoAEditar = await CreadorContenidoClient.EditCreadorContenido(_creadorContenidoAEditar, _listaGenero); editado = true; if (_rutaImagen != "") { var clientePortadas = new CoversClient(); clientePortadas.UploadContentCreatorCover(_rutaImagen, _creadorContenidoAEditar.id); } } catch (HttpRequestException) { new MensajeEmergente().MostrarMensajeError("No se puede conectar al servidor"); } catch (RpcException) { new MensajeEmergente().MostrarMensajeError( "No se pudo guardar la imagen de portada, puede subirla " + "mas adelante"); } 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().MostrarMensajeAdvertencia(ex.Message); } } if (editado) { NavigationService?.Navigate(new PerfilCreadorDeContenido()); } cancelarButton.IsEnabled = true; registrarCreadorButton.IsEnabled = true; } }
/// <summary> /// Edita un album y guarda su portada /// </summary> private async void EditarAlbum() { if (ValidarTamañoNombre() && ValidarAño()) { cancelarButton.IsEnabled = false; registrarAlbumButton.IsEnabled = false; var album = CrearAlbum(); var albumEditado = false; try { _albumRegistrado = await AlbumClient.EditAlbum(_albumEditar.id, album); albumEditado = true; if (_rutaImagen != "") { var clientePortadas = new CoversClient(); clientePortadas.UploadAlbumCover(_rutaImagen, _albumRegistrado.id); } } catch (HttpRequestException) { new MensajeEmergente().MostrarMensajeError("No se puede conectar al servidor"); } catch (RpcException) { new MensajeEmergente().MostrarMensajeError( "No se pudo guardar la imagen de portada, puede subirla " + "mas adelante"); } catch (Exception exception) { if (exception.Message == "AuntenticacionFallida") { new MensajeEmergente().MostrarMensajeError("No se pudo autenticar con las credenciales " + "con las que se inicio sesion "); Close(); } new MensajeEmergente().MostrarMensajeAdvertencia(exception.Message); } if (albumEditado) { Close(); } cancelarButton.IsEnabled = true; registrarAlbumButton.IsEnabled = true; } }
/// <summary> /// Recupera la imagen del creador de contenido en calidad media y la colca en la portada del creador de /// contenido /// </summary> private async void ColocarIamgenCreadorDeContenido() { var clientePortadas = new CoversClient(); try { var portada = await clientePortadas.GetContentCreatorCover(_creadorContenido.id, Calidad.Media); if (portada != null) { _creadorContenido.PortadaImagen = ImagenUtil.CrearBitmapDeMemory(portada); PortadaImagen.Source = null; PortadaImagen.Source = _creadorContenido.PortadaImagen; } } catch (RpcException) { PortadaImagen.Source = _creadorContenido.PortadaImagen; } }
/// <summary> /// Recupera las imagenes de los artistas /// </summary> private async Task ColocarImagenesCanciones(Cancion cancion) { var clientePortadas = new CoversClient(); try { var bitmap = await clientePortadas.GetAlbumCover(cancion.album.id, Calidad.Baja); if (bitmap != null) { cancion.album.PortadaImagen = ImagenUtil.CrearBitmapDeMemory(bitmap); } else { cancion.album.PortadaImagen = (BitmapImage)FindResource("AlbumDesconocido"); } } catch (Exception) { cancion.album.PortadaImagen = (BitmapImage)FindResource("AlbumDesconocido"); } }
/// <summary> /// Recupera la portada del album de la cancion que se va a reproducir y se lo coloca /// </summary> /// <param name="album">El album a colocar la imagen</param> /// <param name="calidad">La calidad de la iamgen a recuperar</param> /// <returns>Task</returns> private async Task ColocarImagenAlbum(Album album, Calidad calidad) { var clientePortadas = new CoversClient(); try { MostrarElementosSinConexion(); var bitmap = await clientePortadas.GetAlbumCover(album.id, calidad); if (bitmap != null) { album.PortadaImagen = ImagenUtil.CrearBitmapDeMemory(bitmap); } else { album.PortadaImagen = (BitmapImage)FindResource("AlbumDesconocido"); } } catch (Exception) { album.PortadaImagen = (BitmapImage)FindResource("AlbumDesconocido"); OcultarElementosSinConexion(); } }
/// <summary> /// Registra un nuevo usuario /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private async void OnClickRegistrarButton(object sender, RoutedEventArgs e) { if (ValidarTextBoxNombre() && ValidarTextBoxCorreo() && ValidarTextBoxNombreUsuario() && ValidarTextBoxContraseña()) { cancelarButton.IsEnabled = false; registrarUsuarioButton.IsEnabled = false; var usuario = CrearUsuario(); var usuarioRegistrado = false; try { await UsuarioClient.RegisterUsuario(usuario); usuarioRegistrado = true; var usuarioLogin = new Login { Password = usuario.contrasena, User = usuario.nombre_usuario }; await ApiServiceLogin.GetServiceLogin().Login(usuarioLogin); var usuarioLogeado = await UsuarioClient.GetUser(); usuarioLogeado.login = usuarioLogin; ManejadorDeUsuariosLogeados.GetManejadorDeUsuariosLogeados().InicioSesionUsuario(usuarioLogeado); if (_rutaImagen != "") { var clientePortadas = new CoversClient(); clientePortadas.UploadUserCover(_rutaImagen); } } catch (HttpRequestException) { new MensajeEmergente().MostrarMensajeError("No se puede conectar al servidor"); } catch (RpcException) { new MensajeEmergente().MostrarMensajeError( "No se pudo guardar la imagen de portada, puede subirla " + "mas adelante"); } catch (Exception exception) { new MensajeEmergente().MostrarMensajeAdvertencia(exception.Message); } if (usuarioRegistrado) { if (usuario.tipo_usuario == TipoUsuario.CreadorDeContenido) { NavigationService?.Navigate(new RegistrarCreadorContenido()); } else { NavigationService?.Navigate(new Canciones()); } } cancelarButton.IsEnabled = true; registrarUsuarioButton.IsEnabled = true; } }