Генериране на повторения от шаблон за повтаряне
С Aspose.Email е възможно да се генерират събития, използвайки шаблон за повторение. Тази статия обяснява как, как да генерирайте следващото събитие и получете удобни за потребителя описания на елементите. Събития от шаблон за повтаряне в MAPI календар могат да се генерират с помощта на Aspose.Email. Следният кодов фрагмент ви показва как да генерирате събития от шаблони за повторение.
Изчисляване на следващото събитие или n следващи събития
За да получите "следващото" събитие, използвайте метода GenerateOccurrences с параметъра nNextOccurrences = 1. Следният кодов фрагмент ви показва как да генерирате 20 събития, като използвате nNextOccurrences = 20. Резултатът от кода по-долу е следният:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
CalendarRecurrence recurrencePattern = new CalendarRecurrence();
recurrencePattern.setStartDate(sdf.parse("1997-09-10 09:00:00"));
RecurrenceRule rule = recurrencePattern.getRRules().add();
rule.setFrequency(Frequency.Monthly);
rule.setCount(20);
rule.setInterval(18);
rule.getByMonthDay().add(new int[] { 10, 11, 12, 13, 14, 15 });
DateCollection expectedDates = recurrencePattern.generateOccurrences(20);
System.out.println("expectedDates.Count = " + expectedDates.size());
for (int i = 0; i < expectedDates.size(); i++) {
System.out.println("DateTime = " + sdf.format(expectedDates.getItem(i)));
}
Получаване на потребителски приятелски текст за повтаряне
Потребителски приятелски текст за правило може да се получи, използвайки свойството FriendlyText, както е показано по-долу. Изходът от кода ще бъде: "Повтаря се всеки месец на 1‑ви и 1‑ви от края на ден(дните) на месеца за максимум 2 повторения.". Следният кодов откъс показва как да се получи потребителски приятелски текст за повтаряне.
RecurrenceRule rule = recurrencePattern.getRRules().add();
rule.setFrequency(Frequency.Monthly);
rule.setCount(2);
rule.getByMonthDay().add(1);
rule.getByMonthDay().add(-1);
System.out.println(rule.getFriendlyText());