コード例 #1
0
        // GET api/CodeJewels/up
        public HttpResponseMessage GetVoteCodeJewels(string vote, int id)
        {
            DbCodeJewelsRepository codeJewelsRepository = this.allRepositories.GetCodeJewelRepository();

            var codeJewel = codeJewelsRepository.Get(id);

            if (codeJewel == null)
            {
                var errResponse = Request.CreateErrorResponse(HttpStatusCode.BadRequest, "No such code jewel was found");
                throw new HttpResponseException(errResponse);
            }

            vote = vote.ToLower();
            if (vote == "up")
            {
                codeJewel.Rating++;
            }
            else if (vote == "down")
            {
                codeJewel.Rating--;
            }
            else
            {
                var errResponse = Request.CreateErrorResponse(HttpStatusCode.BadRequest, "Incorrect vote");
                throw new HttpResponseException(errResponse);
            }

            codeJewelsRepository.Update(id, codeJewel);

            var response = Request.CreateResponse(HttpStatusCode.OK);

            return(response);
        }
コード例 #2
0
        // GET api/CodeJewels/5
        public CodeJewelModel GetCodeJewels(int id)
        {
            DbCodeJewelsRepository codeJewelsRepository = this.allRepositories.GetCodeJewelRepository();

            var codeJewel = codeJewelsRepository.Get(id);

            if (codeJewel == null)
            {
                var errResponse = Request.CreateErrorResponse(HttpStatusCode.BadRequest, "No such code jewel was found");
                throw new HttpResponseException(errResponse);
            }

            var codeJewelModel = new CodeJewelModel()
            {
                CodeJewelId = codeJewel.CodeJewelId,
                SourseCode  = codeJewel.SourseCode,
                AuthorEmail = codeJewel.AuthorEmail,
                Rating      = codeJewel.Rating,
                CategoryId  = codeJewel.CategoryId
            };

            return(codeJewelModel);
        }