Работа с элементами календаря Outlook

Работа с MapiCalendar

Класс MapiCalendar библиотеки Aspose.Email предоставляет методы и атрибуты для установки различных свойств элемента календаря. В этой статье приведены примеры кода для:

Создание и сохранение элементов календаря

Следующий фрагмент кода показывает, как создать и сохранить элемент календаря в формате ICS.

Сохранение элемента календаря в формате MSG

Следующий фрагмент кода показывает, как сохранить элемент календаря в формате MSG.

Настройка идентификатора продукта при сохранении MapiCalendar в ICS

Свойство 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("Календарь содержит " + reader.Count + " событий");
Console.WriteLine("Версия календаря " + reader.Version);
Console.WriteLine("Метод календаря " + reader.Method);
Console.WriteLine("Содержит ли календарь несколько событий? - " + reader.IsMultiEvents);
List<Appointment> appointments = reader.LoadAsMultiple();

Добавление визуального напоминания в календарь

Следующий фрагмент кода показывает, как добавить визуальное напоминание в календарь.

Добавление аудионапоминания в календарь

Следующий фрагмент кода показывает, как добавить аудионапоминание в календарь.

Добавление/получение вложений из файлов календаря

Следующий фрагмент кода показывает, как добавить/получить вложения из файлов календаря.

Статус получателей из запроса на встречу

Следующий фрагмент кода показывает, как отобразить статус получателей из запроса на встречу.

Создание MapiCalendarTimeZone из стандартного часового пояса

Следующий фрагмент кода показывает, как создать MapiCalendarTimeZone из стандартного часового пояса.

Настройка напоминания с созданным событием

Напоминание может быть добавлено при создании события. Эти будильники могут срабатывать по разным критериям, например за 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 в false.

Следующий пример демонстрирует использование MapiConversionOptions.ForcedRtfBodyForAppointment для сохранения формата тела события в формате HTML.