Delete events

Sitefinity CMS allows you to delete events through the Events API.

When deleting an event, you must perform the following:

  1. 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.
  2. Delete the event.
    After you get the master version of the event, you delete it.
  3. 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

C#
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

C#
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 IdEvent(masterEventId) throws an exception of type ItemNotFoundException.

To delete the event, you use the Delete method of the facade. Finally, you save the changes.

Want to learn more?
Enhance your Sitefinity skills by enrolling in free training sessions. Become Sitefinity certified through Progress Education Community to strengthen your professional credentials.
This Article Contains
New to Sitefinity?