예제 #1
0
 /// <summary>
 /// Publishes Facebook post with given identifier.
 /// </summary>
 /// <param name="postId">Facebook post identifier.</param>
 private void PublishPost(int postId)
 {
     try
     {
         FacebookPostInfoProvider.TryCancelScheduledPublishFacebookPost(postId);
         FacebookPostInfoProvider.PublishFacebookPost(postId);
     }
     catch (Exception ex)
     {
         EventLogProvider.LogWarning("Social marketing - Facebook post", "PUBLISHPOST", ex, SiteContext.CurrentSiteID,
                                     String.Format("An error occurred while publishing the Facebook post with ID {0}.", postId));
     }
 }
    /// <summary>
    /// OnBeforeSave event.
    /// </summary>
    private void Control_OnBeforeSave(object sender, EventArgs eventArgs)
    {
        FacebookPostInfo facebookPost = Control.EditedObject as FacebookPostInfo;

        if (facebookPost == null)
        {
            return;
        }

        if (facebookPost.FacebookPostID <= 0)
        {
            // The post is being created, not edited
            return;
        }

        if (!FacebookPostInfoProvider.TryCancelScheduledPublishFacebookPost(facebookPost))
        {
            // The post has been published during user edit. Prevent the changes to take effect
            CancelPendingSave(Control.GetString("sm.facebook.posts.msg.editforbidden"));
        }
    }