/// <summary> /// Actualiza o registra la calificacion de una cancion /// </summary> /// <param name="sender">El objeto que invoco el evento</param> /// <param name="e">El evento invocado</param> private void OnValueChangedCalificacion(object sender, RoutedPropertyChangedEventArgs <int> e) { var calificacion = ((RatingBar)sender).Value; calificacionRatingBar.IsEnabled = false; try { if (_antiguaCalificacion == 0) { CalificacionClient.AddCalificacion(_idCancionActual, calificacion); } else { CalificacionClient.EditCalificacion(_idCancionActual, calificacion); } _antiguaCalificacion = calificacion; } catch (HttpRequestException) { new MensajeEmergente().MostrarMensajeError("No se ha podido guardar la calificación, verifique su " + "conexión a internet e intentelo nuevamente"); } catch (Exception ex) { new MensajeEmergente().MostrarMensajeError(ex.Message); } calificacionRatingBar.IsEnabled = true; }
/// <summary> /// Coloca la calificación en estrellas de la cancion actual /// </summary> /// <param name="idCancion">El id de la cancion a recuperar su calificacion</param> private async void ObtenerCalificacion(int idCancion) { calificacionRatingBar.IsEnabled = false; calificacionRatingBar.Visibility = Visibility.Visible; try { _antiguaCalificacion = (await CalificacionClient.GetCalificacion(idCancion)).calificacion_estrellas; } catch (HttpRequestException) { OcultarElementosSinConexion(); } catch (Exception ex) { if (ex.Message == "NoCalificada") { _antiguaCalificacion = 0; } else if (ex.Message == "AuntenticacionFallida") { new MensajeEmergente().MostrarMensajeError( "No se ha podido logear con las credenciales proporcionadas," + " si el error ocurre de nuevo, cierre y vuelva a iniciar sesion"); } else { new MensajeEmergente().MostrarMensajeError(ex.Message); } } calificacionRatingBar.Value = _antiguaCalificacion; calificacionRatingBar.IsEnabled = true; }