
Welcome to the Aspose.iCalendar documentation!
Aspose.iCalendar is a .NET class library providing classes and algorithms useful for time-oriented recurrence patterns, or schedules. Many applications need to manage this type of information, which can often be quite complex to describe and manipulate. Aspose.iCalendar frees the programmer from these details, providing a simple, standards-based interface that can support complex patterns. The central concepts are coherent with the iCalendar RFC (2445), making it easy to incorporate iCalendar features into your .NET applications.
Using Aspose.iCalendar you can:
- Easily and reliably calculate occurrence dates and times for even the most complex recurrence patterns.
- Consume and produce recurrence patterns in the iCalendar (RFC 2445) format.
- Create recurrence patterns programmatically via an intuitive object model.
- Use yearly, monthly, weekly, daily, hourly, minutely and secondly recurrence patterns.
- Represent recurrence patterns in your windows, web or a mobile application.
Recurrence Patterns in the Real World
A recurrence pattern describes the rules when the event occurs. A recurrence pattern engine such as Aspose.iCalendar is needed to calculate the dates and times of the occurrences for a given recurrence pattern.
We encounter schedules or Recurrence Patterns in many situations, for example:
- Ten team meetings, every Monday at 10am.
- Process salary payment on the last work day every month.
- Check patient's temperature every day for two weeks.
- Go to the gym on Monday, Wednesday and Friday.
- Run backup every 4 hours on work days.
- Generate sales report on …
- Update website statistics every …
Almost any event that occurs periodically can be represented as a recurrence pattern. For example, the following code will return an array containing ten occurrences of the previous team meeting example:
RecurrencePattern pattern = new RecurrencePattern(
"DTSTART:20040301T100000\n" +
"RRULE:FREQ=WEEKLY;COUNT=10;BYDAY=MO");
DateArray dates = pattern.GenerateOccurrences();
Recurrence patterns could get quite complex, requiring a reliable recurrence pattern engine to parse and validate the input and to generate occurrences correctly.
The iCalendar RFC 2445
The iCalendar RFC 2445 describes a set of inter-operable calendaring and scheduling elements that allow various group scheduling, personal information management and calendaring applications to exchange information in a common format.
Aspose.iCalendar implements the schedule related elements of the RFC since these have very wide application. Future versions may implement other RFC 2445 elements, depending on demand.
This documentation will describe those elements of the RFC that relate to Aspose.iCalendar. We recommend you consult with the iCalendar standard http://www.faqs.org/rfcs/rfc2445.html for the complete picture.
Aspose.iCalendar is Not a GUI Component
Please understand that Aspose.iCalendar does not provide any "visual" components that interact directly with the user. Aspose.iCalendar is a .NET class library that provides a calendaring and scheduling object model using a Recurrence Patterns engine.