/// <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;
        }