Deleting blog posts
This topic explains how to delete blog posts. The examples below show you how to delete all of the available blog posts or how to delete only a specific blog post by its ID.
NOTE: The code examples below work with the ID of the master version of the item. Deleting the master version also deletes the other versions of the item. For more information about doing this using the ID of the live version, see Deleting content.
Deleting a single blog post
When deleting a specific blog post by the ID of its master version, you must perform the following:
-
Get the blog post.
First, get an instance of the master version with the corresponding ID.
-
Delete the blog post.
Mark the master version to be deleted and save the changes.
The following code deletes a blog post by the ID of its master version.
Native API
private void DeleteBlogPostNativeAPI(Guid masterBlogPostId)
{
BlogsManager manager = BlogsManager.GetManager();
//Get the master version of the blog post.
BlogPost master = manager.GetBlogPosts().Where(b => b.Id == masterBlogPostId).SingleOrDefault();
if (master != null)
{
//Mark the blog post to be deleted.
manager.DeleteBlogPost(master);
//Save the changes.
manager.SaveChanges();
}
}
First, you get an instance of the BlogsManager class. Then, you get the master version with the specified ID. To mark the master version to be deleted, you call the DeleteBlogPost method of the manager with the master version as an argument. Finally, you save the changes.
Fluent API
private void DeleteBlogPostFluentAPI(Guid masterBlogPostId)
{
App.WorkWith().BlogPost(masterBlogPostId).Delete().SaveChanges();
}
First, you get the singular blog post facade of the master version with the specified ID. Then, to mark the item to be deleted, you call the Delete method. Finally, you call SaveChanges.
Deleting all blog posts
When deleting all news items, you must perform the following:
-
Get the available blog posts.
Get the master versions of the available blog posts.
-
Delete each blog post in the collection.
Iterate through the collection and delete each blog post.
The following code deletes all blog posts.
Native API
private void DeleteAllBlogPostsNativeAPI()
{
BlogsManager manager = BlogsManager.GetManager();
var blogPosts = manager.GetBlogPosts().Where(item => item.Status == ContentLifecycleStatus.Master).ToList();
foreach (BlogPost blogPost in blogPosts)
{
manager.DeleteBlogPost(blogPost);
}
manager.SaveChanges();
}
First, you get an instance of the BlogsManager class. Then, you get the master versions of the available blog posts. You iterate through the collection and mark each blog post to be deleted. Finally, you save the changes.
Fluent API
private void DeleteAllNewsItemsFluentAPI()
{
App.WorkWith().NewsItems().Delete().SaveChanges();
}
First, you get the plural blog posts facade. Then, to mark each item to be deleted, you call the Delete method. Finally, you save the changes.
See Also