Esempio n. 1
0
        public async Task <PostResult> EditPost(BlogPost post, INewCategoryContext newCategoryContext, bool publish)
        {
            // initialize result (for edits the id never changes)
            PostResult result         = new PostResult();
            var        editpostResult = new EditPostResult();

            result.PostId = post.Id;
            try
            {
                //apply any publishing filters and make the post
                using (new ContentFilterApplier(post, ClientOptions, ContentFilterMode.Publish))
                {
                    // make the post
                    if (post.IsPage)
                    {
                        await BlogClient.EditPage(_settings.HostBlogId, post, publish, result.ETag, result.AtomRemotePost);
                    }
                    else
                    {
                        await BlogClient.EditPost(_settings.HostBlogId, post, newCategoryContext, publish, editpostResult);
                    }
                }
                // note success
                _settings.LastPublishFailed = false;
            }
            catch (BlogClientProviderException ex)
            {
                if (ErrorIsInvalidPostId(ex))
                {
                    return(await NewPost(post, newCategoryContext, publish));
                }
                else
                {
                    throw;
                }
            }
            catch
            {
                _settings.LastPublishFailed = true;
                throw;
            }

            // determine the date-published based on whether there was an override
            if (post.HasDatePublishedOverride)
            {
                result.DatePublished = post.DatePublishedOverride;
            }
            else
            {
                result.DatePublished = DateTime.UtcNow;
            }

            // return result
            return(result);
        }
Esempio n. 2
0
        public async Task <PostResult> NewPost(BlogPost post, INewCategoryContext newCategoryContext, bool publish)
        {
            // initialize result
            PostResult result = new PostResult();

            try
            {
                using (new ContentFilterApplier(post, ClientOptions, ContentFilterMode.Publish))
                {
                    // make the post
                    if (post.IsPage)
                    {
                        result.PostId = await BlogClient.NewPage(_settings.HostBlogId, post, publish, result.ETag,
                                                                 result.AtomRemotePost);
                    }
                    else
                    {
                        result.PostId = await BlogClient.NewPost(_settings.HostBlogId, post, newCategoryContext, publish, result);
                    }
                }

                // note success
                _settings.LastPublishFailed = false;
            }
            catch
            {
                _settings.LastPublishFailed = true;
                throw;
            }

            // determine the date-published based on whether there was an override
            if (post.HasDatePublishedOverride)
            {
                result.DatePublished = post.DatePublishedOverride;
            }
            else
            {
                result.DatePublished = DateTime.UtcNow;
            }

            // return result
            return(result);
        }
 void IBlogPostEditor.OnPublishSucceeded(BlogPost blogPost, PostResult postResult) { }
Esempio n. 4
0
        public PostResult NewPost(BlogPost post, INewCategoryContext newCategoryContext, bool publish)
        {
            // initialize result
            PostResult result = new PostResult();

            try
            {
                using (new ContentFilterApplier(post, ClientOptions, ContentFilterMode.Publish))
                {
                    // make the post
                    if (post.IsPage)
                        result.PostId = BlogClient.NewPage(_settings.HostBlogId, post, publish, out result.ETag, out result.AtomRemotePost);
                    else
                        result.PostId = BlogClient.NewPost(_settings.HostBlogId, post, newCategoryContext, publish, out result.ETag, out result.AtomRemotePost);
                }

                // note success
                _settings.LastPublishFailed = false;
            }
            catch
            {
                _settings.LastPublishFailed = true;
                throw;
            }

            // determine the date-published based on whether there was an override
            if (post.HasDatePublishedOverride)
                result.DatePublished = post.DatePublishedOverride;
            else
                result.DatePublished = DateTimeHelper.UtcNow;

            // return result
            return result;
        }
Esempio n. 5
0
        public PostResult EditPost(BlogPost post, INewCategoryContext newCategoryContext, bool publish)
        {
            // initialize result (for edits the id never changes)
            PostResult result = new PostResult();
            result.PostId = post.Id;
            try
            {
                //apply any publishing filters and make the post
                using (new ContentFilterApplier(post, ClientOptions, ContentFilterMode.Publish))
                {
                    // make the post
                    if (post.IsPage)
                        BlogClient.EditPage(_settings.HostBlogId, post, publish, out result.ETag, out result.AtomRemotePost);
                    else
                        BlogClient.EditPost(_settings.HostBlogId, post, newCategoryContext, publish, out result.ETag, out result.AtomRemotePost);
                }
                // note success
                _settings.LastPublishFailed = false;
            }
            catch (BlogClientProviderException ex)
            {
                if (ErrorIsInvalidPostId(ex))
                    return NewPost(post, newCategoryContext, publish);
                else
                    throw;
            }
            catch
            {
                _settings.LastPublishFailed = true;
                throw;
            }

            // determine the date-published based on whether there was an override
            if (post.HasDatePublishedOverride)
                result.DatePublished = post.DatePublishedOverride;
            else
                result.DatePublished = DateTimeHelper.UtcNow;

            // return result
            return result;
        }
 public void OnPublishSucceeded(BlogPost blogPost, PostResult postResult)
 {
     controller.OnPublishSucceeded(blogPost, postResult);
     ((IBlogPostEditor)postPropertiesForm).OnPublishSucceeded(blogPost, postResult);
 }
 void IBlogPostEditor.OnPublishSucceeded(BlogPost blogPost, PostResult postResult)
 {
     _isDirty = false;
 }
 public virtual void OnPublishSucceeded(BlogPost blogPost, PostResult postResult)
 {
 }
        public void OnPublishSucceeded(BlogPost blogPost, PostResult postResult)
        {
            ((IBlogPostEditor)categoryDropDown).OnPublishSucceeded(blogPost, postResult);

            List<BlogPostKeyword> keywords = new List<BlogPostKeyword>();
            keywords.AddRange(_targetBlog.Keywords);
            string[] keywordList = blogPost.Keywords.Split(',');
            foreach (string str in keywordList)
            {
                string name = str.Trim();

                if (string.IsNullOrEmpty(name))
                    continue;

                keywords.Add(new BlogPostKeyword(name));
            }
            _targetBlog.Keywords = keywords.ToArray();

            LoadTagValues();

            isDirty = false;
        }
 public override void OnPublishSucceeded(BlogPost blogPost, PostResult postResult)
 {
     // delegate to property editor
     _postPropertyEditor.OnPublishSucceeded(blogPost, postResult);
     IsDirty = false;
 }