public async Task <IActionResult> PostReview(int trackId, [FromBody] PostReviewRequest request) { if (!ModelState.IsValid) { return(HandleAndReturnBadRequest(ModelState, _logger)); } var user = await _userRepository.GetByNameAsync(request.Author); if (user == null) { return(HandleAndReturnBadRequest($"User {request.Author} is not found", _logger)); } var phrase = await _phraseRepository.GetLatestByTrackIdAsync(trackId); if (phrase == null) { return(HandleAndReturnBadRequest($"There is no phrase with track id {trackId}", _logger)); } var newPhrase = await _phraseRepository.AddReviewAsync(phrase, user, request); return(Ok(new BasePhraseItemResponse(newPhrase))); }
//review was written. send review service request here private async void uxSubmitBtn_Clicked(object sender, EventArgs e) { string empID = RealmManager.All <Order>().FirstOrDefault().employee_id; string orderID = RealmManager.All <Order>().FirstOrDefault()._id; await PostReviewRequest.SendPostReviewRequest(orderID, empID, Q1Rating, uxQ1UserReview.Text, Q2Rating, uxQ2UserReview.Text, Q3Rating, uxQ3UserReview.Text); await DisplayAlert("Sucess!", "Thanks for your review", "OK"); //special type of pop out of page due to plugin await PopupNavigation.Instance.PopAllAsync(); }
public async Task <PhraseItem> AddReviewAsync([NotNull] PhraseItem phrase, [NotNull] ServerUser user, [NotNull] PostReviewRequest request) { var reviewState = new ReviewState { Comment = request.Comment, State = request.Status, UserId = user.Id }; var cloned = phrase.Clone(); cloned.Version++; UpdateReviewStates(cloned, reviewState, user.Id, request.ClearReview); await CloseAndInsertAsync(cloned, phrase, user.Id); return(cloned); }