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 IQueryableGetEventsViaExtensions()
{
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 IEnumerableGetOccurences()
{
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.