Работа с элементами календаря Outlook
Работа с MapiCalendar
Класс MapicaLendar в Aspose.Email предоставляет методы и атрибуты для установки различных свойств элемента календаря. В этой статье представлены примеры кода для:
- Работа с MapiCalendar
- Создание и сохранение элементов календаря
- Сохранение элемента календаря в формате MSG
- Добавление экранного напоминания в календарь
- Добавление звукового напоминания в календарь
- Добавление/извлечение вложений из файлов календаря
- Статус получателей приглашения на собрание
- Создание часового пояса Mapicalend из стандартного часового пояса
- Настройка напоминания с созданной встречей
- Преобразуйте EML встречи в MSG с помощью HTML-текста
Создание и сохранение элементов календаря
В следующем фрагменте кода показано, как создать и сохранить элемент календаря в формате ICS.
Сохранение элемента календаря в формате MSG
В следующем фрагменте кода показано, как сохранить элемент календаря в формате MSG.
Настройка идентификатора продукта при сохранении MapicaLendar в ICS
The ProductIdentifier собственность MapiCalendarIcsSaveOptions класс используется для сохранения элемента календаря MAPI в файл iCalendar (ICS) с сохранением исходной информации о дате и времени, а также пользовательского идентификатора продукта. Свойство указывает идентификатор продукта, создавшего объект iCalendar.
В следующем примере кода показано, как работать с данными iCalendar (ICS) в объекте календаря MAPI:
var icsSaveOptions = new MapiCalendarIcsSaveOptions
{
KeepOriginalDateTimeStamp = true,
ProductIdentifier = "Foo Ltd"
};
mapiCalendar.Save("my.ics", icsSaveOptions);
Получение общего количества событий
Класс CalendarReader позволяет легко обрабатывать события календаря. Следующие свойства и метод позволяют работать с несколькими событиями:
- CalendarReader.Count - Свойство Count класса CalendarReader позволяет получить количество компонентов (событий) Vevent, присутствующих в календаре, что упрощает отслеживание общего количества событий.
- CalendarReader.IsMultiEvents - Это свойство определяет, содержит ли календарь несколько событий. Оно предоставляет логическое значение, указывающее, содержит ли календарь более одного события, что помогает идентифицировать календари с одним или несколькими событиями.
- CalendarReader.Method - Свойство Method получает тип метода iCalendar, связанный с объектом календаря. Оно возвращает тип метода, например «REQUEST», «PUBLISH» или «CANCEL», что позволяет получить ценную информацию о назначении календаря.
- CalendarReader.Version - Получает версию iCalendar.
- CalendarReader.LoadAsMultiple() Этот метод позволяет загружать список событий из календаря, содержащего несколько событий. Он возвращает список объектов Appointment, что обеспечивает легкий доступ к каждому событию и его обработку по отдельности.
В следующем примере кода показано, как можно реализовать эти возможности в своем проекте:
var reader = new CalendarReader(fileName);
Console.WriteLine("Calendar contains " + reader.Count + " events");
Console.WriteLine("The Version of the calendar is " + reader.Version);
Console.WriteLine("The Method of the calendar is " + reader.Method);
Console.WriteLine("Is calendar contains contains multiple events? - " + reader.IsMultiEvents);
List<Appointment> appointments = reader.LoadAsMultiple();
Добавление экранного напоминания в календарь
В следующем фрагменте кода показано, как добавить экранное напоминание в календарь.
Добавление звукового напоминания в календарь
В следующем фрагменте кода показано, как добавить звуковое напоминание в календарь.
Добавление/извлечение вложений из файлов календаря
В следующем фрагменте кода показано, как добавлять/извлекать вложения из файлов календаря.
Статус получателей приглашения на собрание
В следующем фрагменте кода показано, как показать статус получателей приглашения на собрание.
Создание часового пояса Mapicalend из стандартного часового пояса
В следующем фрагменте кода показано, как создать MapicaLendaTimeZone из стандартного часового пояса.
Настройка напоминания с созданной встречей
Напоминание можно добавить при создании встречи. Эти сигналы могут срабатывать по разным критериям, например, за n минут до начала расписания и повторяться n раз с интервалом n раз. Для создания этих триггеров можно использовать разные теги в скрипте, прилагаемом к командам BEGIN:VALARM и END:VALARM во время встречи. Существует несколько вариантов, в которых напоминание можно установить во время встречи.
Настройка напоминания путем добавления тегов
В следующем фрагменте кода показано, как настроить напоминание, добавляя теги.
Преобразуйте EML встречи в MSG с помощью HTML-текста
Начиная с версии 19.3, Aspose.Email предоставляет возможность конвертировать EML встречи в MSG, сохраняя при этом текст встречи в формате HTML. Aspose.Email предоставляет MapiConversionOptions.ForcedRtfBodyForAppointment свойство, значение которого по умолчанию равно true. Когда значение MapiConversionOptions.ForcedRtfBodyForAppointment настроен на true, текст записи преобразуется в формат RTF. Чтобы сохранить формат текста встречи в формате HTML, задайте значение MapiConversionOptions.ForcedRtfBodyForAppointment to false.
В следующем примере показано использование MapiConversionOptions.ForcedRtfBodyForAppointment свойство сохранять формат тела встречи в формате HTML.