public async Task AddOrEditReview()

        {
            var request = new ReviewsUpsertRequest()
            {
                QuoteToRemember = Review?.QuoteToRemember,
                Summary         = Review?.Summary,
                Rating          = Review.Rating,
                UserBookId      = _userBookId
            };

            Model.Models.Review review = null;

            if (Review.UserBookId == 0)
            {
                review = await _reviewService.Insert <Model.Models.Review>(request);
            }
            else
            {
                review = await _reviewService.Update <Model.Models.Review>(_userBookId, request);
            }

            if (review != null)
            {
                await Application.Current.MainPage.DisplayAlert("Success", "Your review has been submited for review", "OK");
            }
        }
        private async void ReviewDetailsForm_Load(object sender, System.EventArgs e)
        {
            if (_reviewId.HasValue)
            {
                Review = await _reviewService.GetById <Model.Models.Review>(_reviewId);

                reviewerTxt.Text              = Review.UserBook.User.ToString();
                reviewDateTxt.Text            = Review.CreatedAt.ToString("MM/dd/yyyy");
                ratingTxt.Text                = Review.Rating.ToString();
                reviewText.Text               = Review.Summary;
                approveReviewCheckbox.Checked = Review.Approved == null ? false : Review.Approved.Value;
            }
        }