コード例 #1
0
ファイル: ReviewController.cs プロジェクト: jbvera/AirBench
        /// <summary>
        /// Attempts to add a review to the bench with the given ID.
        ///
        /// ROUTE:
        /// "review/{id}"
        ///
        /// REQUEST BODY:
        /// {
        ///     "Description": `string`,
        ///     "Rating": `int`,
        ///     "UserId": `int`
        /// }
        ///
        /// RESPONSE BODY:
        /// {
        ///     "Success": `bool`,
        ///     "Id": `int`,
        ///     "BenchId": `int`,
        ///     "Description": `string`,
        ///     "Rating": `int`
        ///     "UserId": `int`
        ///     "Date": `datetimeoffset
        /// }
        /// </summary>
        /// <param name="id">The bench ID.</param>
        /// <param name="request">The request body.</param>
        /// <returns>The response body.</returns>
        public async Task <ReviewAddResponse> Post(int id, ReviewAddRequest request)
        {
            var review = new Review()
            {
                BenchId     = id,
                Description = request.Description,
                Rating      = request.Rating,
                UserId      = request.UserId,
                Date        = DateTimeOffset.Now
            };

            var reviewId = await _repo.AddAsync(review);

            var response = new ReviewAddResponse();

            if (reviewId.HasValue)
            {
                response.Success     = true;
                response.Id          = reviewId.Value;
                response.BenchId     = id;
                response.Description = review.Description;
                response.Rating      = review.Rating;
                response.Date        = review.Date;
                response.UserId      = review.UserId;
            }
            else
            {
                response.Success = false;
            }

            return(response);
        }
コード例 #2
0
        private void buttonConfirm_Click(object sender, EventArgs e)
        {
            int wordsNumber = 0;

            if (!int.TryParse(textBoxNumber.Text.Trim(), out wordsNumber))
            {
                textBoxNumber.Focus();
                MessageBox.Show("请输入正确的数字", "提示信息");
                return;
            }

            if (_dtVocabulary.Rows.Count == 0)
            {
                MessageBox.Show("没有可复习的单词了", "提示信息");
                return;
            }

            if (wordsNumber == 0)
            {
                textBoxNumber.Focus();
                MessageBox.Show("请输入正确的数字", "提示信息");
                return;
            }

            //生成复习的单词列表
            if (_dtVocabulary.Rows.Count < wordsNumber)
            {
                wordsNumber = _dtVocabulary.Rows.Count;
            }
            List <long> vocabularyIds = new List <long>();

            for (int i = 0; i < wordsNumber; i++)
            {
                vocabularyIds.Add((long)_dtVocabulary.Rows[i]["VocabularyId"]);
            }

            //取唯一id
            NoodleIdGeneratorRequest noodleIdGeneratorRequest = new NoodleIdGeneratorRequest();

            noodleIdGeneratorRequest.ClientRequestNo = Guid.NewGuid().ToString("N");
            List <long> ids = _noodleTokenClient.DoPost(noodleIdGeneratorRequest);

            //生成复习记录
            ReviewAddRequest reviewAddRequest = new ReviewAddRequest();

            reviewAddRequest.ClientRequestNo = Guid.NewGuid().ToString("N");
            reviewAddRequest.Id            = ids[0];
            reviewAddRequest.Comment       = textBoxComment.Text.Trim();
            reviewAddRequest.VocabularyIds = vocabularyIds;
            _noodleTokenClient.DoPost(reviewAddRequest);

            //刷新数据
            RefreshData();
        }