Extension methods

Extension methods which extend Sitefinity CMS type "Calendar“ with helper methods.

  • GetEvents() – gets all events in a certain calendar ```C# using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using Telerik.Sitefinity.Modules.Events;
    using Telerik.Sitefinity.Events.Model;

    namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Modules.Events.Calendars
    {
    public partial class CalendarSnippets
    {
    public static IQueryable GetEventsViaExtensions()
    {
    Guid calendarId = Guid.NewGuid();
    var manager = EventsManager.GetManager();
    var calendarItem = manager.CreateCalendar(calendarId);
    calendarItem.Title = "Calendar item 1";
    calendarItem.UrlName = "calendar-item-1";
    manager.SaveChanges();

              var existingCalendarItem = manager.GetCalendar(calendarId);  
              var events = existingCalendarItem.GetEvents();  
              return events;  
          }  
      }  

    }

    In the example above we are creating a Calendar via the **CreateCalendar**  method of EventsManager. See [For developers: Calendars](slug://for-developers-calendars) article for more information. Then we are getting the created calendar item and retrieving all events that are related to it via the **GetEvents**   method.
  • GetOccurrences() – gets all occurrences of an event ```C# using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Threading.Tasks;
    using Telerik.Sitefinity.Modules.Events;
    using Telerik.Sitefinity.Events.Model;

    namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Modules.Events.Calendars
    {
    public partial class CalendarSnippets
    {
    public static IEnumerable GetOccurences()
    {
    var timeNow = DateTime.UtcNow;
    var manager = EventsManager.GetManager();

              var e1Id = Guid.NewGuid();  
              var e1Title = "TestEvent1";  
              var e1Descr = "TestEvent1 description";  
              var e1Content = "TestEvent1 content";  
              var e1StartDate = timeNow;  
              var e1EndDate = timeNow.AddDays(5);  
              var e1Location = "Test location";  
              var e1 = manager.CreateEvent(e1Id);  
              e1.Title = e1Title;  
              e1.Description = e1Descr;  
              e1.Content = e1Content;  
              e1.EventStart = e1StartDate;  
              e1.EventEnd = e1EndDate;  
              e1.IsRecurrent = false;  
              e1.Location = e1Location;  
    
              manager.Lifecycle.Publish(e1);  
              manager.SaveChanges();  
    
              e1 = manager.GetEvent(e1Id);  
    
              var occurrences = e1.GetOccurrences();  
              return occurrences;  
          }  
      }  

    }

    This example creates new event with specified *Title*, *Description*, *Content*, *EventStart*, *EventEnd*, *Location* and *IsRecurrent* properties. If the event is recurrent (*IsRecurrent*property is set to "**true**  ') - you can get all the occurrences via the **GetOccurrences**   method.
  • GetOccurrences(this Event eventItem, DateTime? dateTime, DateTime? endDate )– gets all occurrences of an event for the specified period of time ```C# using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Telerik.Sitefinity.Modules.Events; using Telerik.Sitefinity.Events.Model;

    namespace Telerik.Sitefinity.Documentation.CodeSnippets.DevGuide.SitefinityEssentials.Modules.Events.Calendars { public partial class CalendarSnippets { public static IEnumerable GetOccurrencesForTimePeriod() { var timeNow = DateTime.UtcNow; var manager = EventsManager.GetManager();

              var e1Id = Guid.NewGuid();
              var e1Title = "TestEvent1";
              var e1Descr = "TestEvent1 description";
              var e1Content = "TestEvent1 content";
              var e1StartDate = timeNow;
              var e1EndDate = timeNow.AddDays(5);
              var e1Location = "Test location";
              var e1 = manager.CreateEvent(e1Id);
              e1.Title = e1Title;
              e1.Description = e1Descr;
              e1.Content = e1Content;
              e1.EventStart = e1StartDate;
              e1.EventEnd = e1EndDate;
              e1.IsRecurrent = false;
              e1.Location = e1Location;
    
              manager.Lifecycle.Publish(e1);
              manager.SaveChanges();
    
              e1 = manager.GetEvent(e1Id);
    
              var occurrences = e1.GetOccurrences(e1StartDate, null);
              return occurrences;
          }
      }

    }

This is another overload of the GetOccurrences method where you can specify the start and end interval in which you'll find all of the occurrences per event.

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.
New to Sitefinity?