diff --git a/Source/LibationAvalonia/ViewModels/GridEntry.cs b/Source/LibationAvalonia/ViewModels/GridEntry.cs index 24d57a76..4219699e 100644 --- a/Source/LibationAvalonia/ViewModels/GridEntry.cs +++ b/Source/LibationAvalonia/ViewModels/GridEntry.cs @@ -57,13 +57,6 @@ 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); - }); } } } @@ -82,12 +75,18 @@ 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(); - return await api.ReviewAsync(Book.AudibleProductId, (int)rating.OverallRating, (int)rating.PerformanceRating, (int)rating.StoryRating); + 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)); } #endregion diff --git a/Source/LibationAvalonia/ViewModels/ProductsDisplayViewModel.cs b/Source/LibationAvalonia/ViewModels/ProductsDisplayViewModel.cs index 477282b7..51a09a0c 100644 --- a/Source/LibationAvalonia/ViewModels/ProductsDisplayViewModel.cs +++ b/Source/LibationAvalonia/ViewModels/ProductsDisplayViewModel.cs @@ -178,7 +178,7 @@ namespace LibationAvalonia.ViewModels FilteredInGridEntries = filterResults; if (GridEntries.IsEditingItem) - GridEntries.CommitEdit(); + await Dispatcher.UIThread.InvokeAsync(GridEntries.CommitEdit); await Dispatcher.UIThread.InvokeAsync(GridEntries.Refresh); }