コード例 #1
0
ファイル: PostController.cs プロジェクト: duke877/WallPost
        // POST api/WallPost
        public JsonResult PostPost(Post post)
        {
            post.PostedBy = WebSecurity.CurrentUserId;
            post.PostedDate = DateTime.UtcNow;
            // post.UserProfile.UserId = WebSecurity.CurrentUserId;
            ModelState.Remove("post.PostedBy");
            ModelState.Remove("post.PostedDate");
            //  ModelState.Remove("post.UserProfile.UserId");

               // if (ModelState.IsValid)
              //  {
                db.Posts.Add(post);
                db.SaveChanges();
                var usr = db.UserProfile.FirstOrDefault(x => x.UserId == post.PostedBy);
                var ret = new
                {
                    Message = post.Message,
                    PostedBy = post.PostedBy,
                    PostedByName = usr.UserName,
                    PostedByAvatar = imgFolder + (String.IsNullOrEmpty(usr.AvatarExt) ? defaultAvatar : post.PostedBy + "." + post.UserProfile.AvatarExt),
                    PostedDate = post.PostedDate,
                    PostId = post.PostId
                    //  UserId = usr.UserId
                };
              //  HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, ret);
              //  response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = post.PostId }));
              //  return response;
             //   }
            //else
            //{
            //    return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
            //}
                return Json(ret, JsonRequestBehavior.AllowGet);
        }
コード例 #2
0
        // PUT api/WallPost/5
        public HttpResponseMessage PutPost(int id, Post post)
        {
            if (!ModelState.IsValid)
            {
                return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState);
            }

            if (id != post.PostId)
            {
                return Request.CreateResponse(HttpStatusCode.BadRequest);
            }

            db.Entry(post).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException ex)
            {
                return Request.CreateErrorResponse(HttpStatusCode.NotFound, ex);
            }

            return Request.CreateResponse(HttpStatusCode.OK);
        }