iCalendar is according to RFC 5545 standardized file format, which allows users to store and exchange the calendaring and scheduling information such as events among different kinds of calendars. The present component implements only three iCalendar methods, which are PUBLISH, REQUEST and CANCEL. Whereas PUBLISH method always create a new event in the calendar, even if it contains the same event identifier (UID). The REQUEST method can be used for creation of events and for updating events as long as the correct event identifier is provided. This component allows to propose own event identifiers as well as generating a “globally unique” identifier (GUID). Meaning, if the proposed event identifier parameter is kept empty a GUID will be used instead and it will provide the new identifier as additional output parameter of the extension. The implementation of CANCEL method is included with two different flavors. The first contains the full information of the event, which is useful for a user of iCalendar file to double check what was the cancelled event about. However, in order to cancel the event the only important parameter is the event identifier. In order to allow a light weight event cancellation files, the light version of the CANCEL method is implemented in the present iCalendar component.
This component is an extension which uses a nuget component ical.net. Only a very small set of features of ical.net are used in the present component, which will be extended in the future for more advanced users. Besides other features, this component also takes care of compatibility with Outlook, where it represent the time zone in the way, the event scheduling time is interpreted correctly. However, in case some important parameters or methods are missing, those features will be included on demand in the future versions.