Delete events
Sitefinity CMS allows you to delete events through the Events API.
When deleting an event, you must perform the following:
- Get the event.
First, you must get the master version of the event corresponding to the specified ID.
For more information, see For developers: Query events and For developers: Find events. - Delete the event.
After you get the master version of the event, you delete it. - Save the changes.
To delete an event you can use the Native API or the Fluent API.
**NOTE:**The code examples below work with the ID of the master version of the event. Deleting the master version also deletes the other versions of the item. For more information about deleting items using the ID of the live version, see For developers: Delete content.
Delete an event by its ID
The following examples delete an event by the ID of its master version:
Native API
using System;
using System.Linq;
using Telerik.Sitefinity.Events.Model;
using Telerik.Sitefinity.Modules.Events;
namespace SitefinityWebApp
{
public class DeleteEventByIDNativeAPI
{
public void DeleteEventNativeAPI(Guid masterEventId)
{
EventsManager eventsManager = EventsManager.GetManager();
// Get the master version of the event
Event eventItem = eventsManager.GetEvents().Where(ev => ev.Id == masterEventId).FirstOrDefault();
if (eventItem != null)
{
// Mark the event to be deleted
eventsManager.DeleteEvent(eventItem);
// Save the changes
eventsManager.SaveChanges();
}
}
}
}
First, you initialize the EventsManager. Then, you get the master version of the event using GetEvents and filtering based on the Id property. To delete the event, you call the DeleteEvent method passing the master version as argument. Finally, you save the changes.
Fluent API
using System;
using Telerik.Sitefinity;
namespace SitefinityWebApp
{
public class DeleteEventByIDFluentAPI
{
public void DeleteEventFluentAPI(Guid masterEventId)
{
int count = 0;
App.WorkWith().Events().Where(ev => ev.Id == masterEventId).Count(out count);
if (count > 0)
{
App.WorkWith().Event(masterEventId).Delete().SaveChanges();
}
}
}
}
First, you initialize the plural facade of the event using App.WorkWith().Events(). Then, you filter based on the Id property to assure that the event exists. To get the master version of the event, you use the singular facade of the event.
**NOTE:**If there is no event with the specified
Id,Event(masterEventId)throws an exception of typeItemNotFoundException.
To delete the event, you use the Delete method of the facade. Finally, you save the changes.