示例#1
0
        public HttpResponseMessage PostComment(ViewComment comment)
        {
            if (ModelState.IsValid)
            {
                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created);
                _db.Comment.Add(new Comment {
                    ProposalId = comment.Id, Body = comment.Body, CreatedBy = WebSecurity.CurrentUserId, CreatedDate = DateTime.UtcNow
                });
                _db.SaveChanges();

                Service  service  = _db.User.FirstOrDefault(c => c.UserId == WebSecurity.CurrentUserId).Services.FirstOrDefault(c => c.Provider == "facebook");       //get service for posting to feed
                Proposal proposal = _db.Proposal.FirstOrDefault(c => c.Id == comment.Id && c.FacebookPostId != null && c.FacebookPostId != "");
                if (service != null && proposal != null)
                {
                    FacebookAPI facebook = new FacebookAPI(service.Token);
                    int         status   = facebook.postCommentToPost(proposal.FacebookPostId, comment.Body, WebSecurity.CurrentUserId);

                    if (status == 1)
                    {
                        return(Request.CreateResponse(HttpStatusCode.NotFound));
                    }
                    else if (status == 2)
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadGateway));
                    }
                    else if (status == 3)
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest));
                    }
                    //facebook.postCommentToPost();
                }



                return(response);
            }
            else
            {
                return(Request.CreateResponse(HttpStatusCode.BadRequest));
            }
        }