Extension methods
Extension methods which extend Sitefinity CMS type Calendar with helper methods.
-
GetEvents()– gets all events in a certain calendarC#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<Event> 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
CreateCalendarmethod of EventsManager. See Calendars article for more information. Then we are getting the created calendar item and retrieving all events that are related to it via theGetEventsmethod. -
GetOccurrences()– gets all occurrences of an eventC#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<EventOccurrence> 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 theGetOccurrencesmethod. -
GetOccurrences(this Event eventItem, DateTime? dateTime, DateTime? endDate)– gets all occurrences of an event for the specified period of timeC#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<EventOccurrence> 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.