示例#1
0
        public HttpResponseMessage Post(int Id, bool ArtistPost)
        {
            Proposal currProposal = _db.Proposal.FirstOrDefault(c => c.Id == Id);

            Models.Service service = _db.User.FirstOrDefault(c => c.UserId == WebSecurity.CurrentUserId).Services.FirstOrDefault(c => c.Provider == "facebook");

            if (service != null)
            {
                FacebookAPI facebook = new FacebookAPI(service.Token);

                if (service != null && currProposal != null)
                {
                    dynamic status;
                    if (ArtistPost)
                    {
                        status = facebook.InsertToArtistFeed(currProposal, WebSecurity.CurrentUserId, System.Web.HttpContext.Current.Request.UrlReferrer.ToString());
                    }
                    else
                    {
                        status = facebook.InsertToFeed(currProposal, WebSecurity.CurrentUserId, System.Web.HttpContext.Current.Request.UrlReferrer.ToString());
                    }

                    if (status is int && status == 1)
                    {
                        return(Request.CreateResponse(HttpStatusCode.NotFound));
                    }
                    else if (status is int && status == 2)
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadGateway));
                    }
                    else if (status is int && status == 3)
                    {
                        return(Request.CreateResponse(HttpStatusCode.BadRequest));
                    }
                    else if (status is int && status == 4)
                    {
                        return(Request.CreateResponse(HttpStatusCode.Created));
                    }
                    else
                    {
                        if (ArtistPost)
                        {
                            _api.AddOrUpdateFacebookArtistPost(currProposal.Id, WebSecurity.CurrentUserId, status["id"].ToString());    //saving post id from facebook
                        }
                        else
                        {
                            _api.AddOrUpdateFacebookPost(currProposal.Id, WebSecurity.CurrentUserId, status["id"].ToString());
                        }


                        return(Request.CreateResponse(HttpStatusCode.Created));
                    }
                }
            }


            return(Request.CreateResponse(HttpStatusCode.BadRequest));
        }