diff --git a/Source/LibationAvalonia/ViewModels/GridEntry.cs b/Source/LibationAvalonia/ViewModels/GridEntry.cs index e91f5b57..24d57a76 100644 --- a/Source/LibationAvalonia/ViewModels/GridEntry.cs +++ b/Source/LibationAvalonia/ViewModels/GridEntry.cs @@ -57,6 +57,13 @@ namespace LibationAvalonia.ViewModels && updateReviewTask?.IsCompleted is not false) { updateReviewTask = UpdateRating(value); + updateReviewTask.ContinueWith(t => + { + if (t.Result) + LibraryBook.Book.UpdateUserDefinedItem(Book.UserDefinedItem.Tags, Book.UserDefinedItem.BookStatus, Book.UserDefinedItem.PdfStatus, value); + + this.RaiseAndSetIfChanged(ref _myRating, value); + }); } } } @@ -75,19 +82,14 @@ namespace LibationAvalonia.ViewModels #region User rating - private Task updateReviewTask; - private async Task UpdateRating(Rating rating) + private Task updateReviewTask; + private async Task UpdateRating(Rating rating) { var api = await LibraryBook.GetApiAsync(); - if (await api.ReviewAsync(Book.AudibleProductId, (int)rating.OverallRating, (int)rating.PerformanceRating, (int)rating.StoryRating)) - { - _myRating = rating; - LibraryBook.Book.UpdateUserDefinedItem(Book.UserDefinedItem.Tags, Book.UserDefinedItem.BookStatus, Book.UserDefinedItem.PdfStatus, rating); - } - - this.RaisePropertyChanged(nameof(MyRating)); + return await api.ReviewAsync(Book.AudibleProductId, (int)rating.OverallRating, (int)rating.PerformanceRating, (int)rating.StoryRating); } + #endregion #region Sorting