تولید رخدادها از الگوی تکرار
با Aspose.Email میتوان رخدادها را با استفاده از یک الگوی تکرار تولید کرد. این مقاله توضیح میدهد چگونه، چگونه به تولید رخداد بعدی و دریافت توصیفات کاربرپسند برای آیتمها. رخدادها از یک الگوی تکرار تقویم MAPI میتوانند با استفاده از Aspose.Email تولید شوند. کد نمونه زیر نشان میدهد چگونه رخدادها از الگوهای تکرار تولید شوند.
محاسبه رخداد بعدی یا n رخداد بعدی
برای دریافت رخداد "next" ، از متد GenerateOccurrences با پارامتر nNextOccurrences = 1 استفاده کنید. کد نمونه زیر نشان میدهد چگونه با استفاده از nNextOccurrences = 20، 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 همانطور که در زیر نشان داده شده است، بهدست آید. خروجی کد به شکل زیر خواهد بود: "هر ماه در روز اول و اولین روز از انتهای روز(ها) ماه تکرار شود تا حداکثر ۲ رخداد.". قطعه کد زیر نشان میدهد چگونه متن کاربرپسند برای یک تکرار دریافت کنید.
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());