Exemplo n.º 1
0
        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)));
        }
Exemplo n.º 2
0
        //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();
        }
Exemplo n.º 3
0
        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);
        }