आवर्तनों के साथ काम करना

Contents
[ ]

दैनिक आवर्तनों के साथ काम करना

Aspose.Email दैनिक आवर्तनों के निर्माण का समर्थन करता है, उपयोग करके MapiCalendarDailyRecurrencePattern. तीन विभिन्न Mapi कैलेंडर आवर्ती समाप्ति प्रकार उपयोग किए जा सकते हैं: EndAfterNOccurrences, EndAfterDate और NeverEnd। यह अनुभाग विभिन्न दैनिक आवर्ती पैटर्न बनाने को दर्शाता है।

दैनिक आवर्तक: EndAfterNOccurrence प्रकार

इस प्रकार की आवृति में, आवर्तनों की संख्या को अन्य जानकारी के साथ निम्नलिखित रूप में सेट किया जाता है:

  1. प्रारंभ, समाप्ति और नियत तिथि सेट करें।
  2. एक बनाएं MapiTask.
  3. कार्य की स्थिति को NotAssigned सेट करें।
  4. PatternType, Period, WeekStartDay, EndType और OccurenceCount जैसी प्रॉपर्टी सेट करके दैनिक आवर्ती ऑब्जेक्ट बनाएं।
  5. MapiTask.setRecurrence प्रॉपर्टी को इस दैनिक आवर्ती ऑब्जेक्ट पर सेट करें।
  6. इस संदेश को डिस्क पर सहेजें।

निम्नलिखित कोड स्निपेट दर्शाता है कि कैसे EndAfterNOccurrence के रूप में आवर्ती समाप्ति प्रकार के साथ एक कार्य बनाया जाए।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = RunExamples.getDataDir_Outlook();

Date startDate = getDate(2015, 7, 16);
Date dueDate = getDate(2015, 7, 16);
Date endByDate = getDate(2015, 8, 1);
 
MapiTask task = new MapiTask("This is test task", "Sample Body", startDate, dueDate);
task.setState(MapiTaskState.NotAssigned);

// Set the Daily recurrence
MapiCalendarDailyRecurrencePattern rec = new MapiCalendarDailyRecurrencePattern();
rec.setPatternType(MapiCalendarRecurrencePatternType.Day);
rec.setPeriod(1);
rec.setWeekStartDay(DayOfWeek.Sunday);
rec.setEndType(MapiCalendarRecurrenceEndType.EndAfterNOccurrences);
rec.setOccurrenceCount(getOccurrenceCount(startDate, endByDate, "FREQ=DAILY"));

if (rec.getOccurrenceCount() == 0)
{
    rec.setOccurrenceCount(1);
}

task.setRecurrence(rec);
task.save(dataDir + "Daily_out.msg", TaskSaveFormat.Msg);

निम्नलिखित फ़ंक्शन दो तिथियों के बीच घटनाओं की संख्या गिनने के लिए उपयोग किया जा सकता है:

private static long getOccurrenceCount(Date start, Date endBy, String rrule)
{
    DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
    CalendarRecurrence pattern = new CalendarRecurrence("DTSTART:" + formatter.format(start) + "\r\nRRULE:" + rrule);
    DateCollection dates = pattern.generateOccurrences(start, endBy);
    return dates.size();
}

आवर्तन गिनती मान सेट करना

निम्नलिखित कोड स्निपेट दर्शाता है कि कैसे आवर्तन गिनती मान सेट करें।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Set the Daily recurrence
MapiCalendarDailyRecurrencePattern record = new MapiCalendarDailyRecurrencePattern();

record.setPatternType(MapiCalendarRecurrencePatternType.Day);
record.setPeriod(1);
record.setWeekStartDay(DayOfWeek.Sunday);
record.setEndType(MapiCalendarRecurrenceEndType.EndAfterNOccurrences);
record.setOccurrenceCount(5);
task.setRecurrence(record);

दैनिक आवर्तक: EndAfterDate प्रकार

"End By" विकल्प Mapi Task में OccurrenceCount प्रॉपर्टी सेट करके प्राप्त किया जाता है जिसे getOccurrenceCount() फ़ंक्शन द्वारा गणना किया जाता है। यह फ़ंक्शन प्रारंभ तिथि , समाप्ति तिथि और RRULE स्ट्रिंग लेता है।

दैनिक आवर्तनों में Every Day मान सेट करना

निम्नलिखित कोड स्निपेट दर्शाता है कि कैसे RRULE स्ट्रिंग में अवधि मान को 1 और INTERVAL मान को 1 सेट किया जाए।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Set the Daily recurrence
MapiCalendarDailyRecurrencePattern record = new MapiCalendarDailyRecurrencePattern();

record.setPatternType(MapiCalendarRecurrencePatternType.Day);
record.setPeriod(1);
record.setEndType(MapiCalendarRecurrenceEndType.EndAfterDate);
record.setOccurrenceCount(getOccurrenceCount(startDate, endByDate, "FREQ=DAILY;INTERVAL=1"));
record.setEndDate(endByDate);

Every Day मान को किसी भी उपयुक्त मान पर सेट किया जा सकता है जैसा कि नीचे के उदाहरण में दिखाया गया है:

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Set the Daily recurrence
MapiCalendarDailyRecurrencePattern record = new MapiCalendarDailyRecurrencePattern();

record.setPatternType(MapiCalendarRecurrencePatternType.Day);
record.setPeriod(2);
record.setEndType(MapiCalendarRecurrenceEndType.EndAfterDate);
record.setOccurrenceCount(getOccurrenceCount(startDate, endByDate, "FREQ=DAILY;INTERVAL=2"));

दैनिक आवर्तक: NeverEnd प्रकार

अंत प्रकार को MapiCalendarRecurrenceEndType.NeverEnd का उपयोग करके सेट किया जा सकता है। अवधि या INTERVAL को आवश्यक मान, जैसे 1, नीचे के उदाहरण में सेट किया जा सकता है।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Set the Daily recurrence
MapiCalendarDailyRecurrencePattern record = new MapiCalendarDailyRecurrencePattern();

record.setPatternType(MapiCalendarRecurrencePatternType.Day);
record.setPeriod(1);
record.setEndType(MapiCalendarRecurrenceEndType.NeverEnd);

साप्ताहिक आवर्तनों के साथ काम करना

Aspose.Email साप्ताहिक आवर्तनों के निर्माण के लिए समृद्ध सुविधाएँ प्रदान करता है, उपयोग करके MapiCalendarWeeklyRecurrencePattern. तीन विभिन्न Mapi कैलेंडर आवर्ती समाप्ति प्रकार उपयोग किए जा सकते हैं: EndAfterNOccurrences, EndAfterDate और NeverEnd। यह अनुभाग विभिन्न साप्ताहिक आवर्ती पैटर्न बनाने को दर्शाता है।

साप्ताहिक आवर्तक: EndAfterNOccurrences प्रकार

इस प्रकार की आवृति में, आवर्तनों की संख्या को अन्य जानकारी के साथ निम्नलिखित रूप में सेट किया जाता है:

  1. प्रारंभ, समाप्ति और नियत तिथि सेट करें।
  2. एक बनाएं MapiTask.
  3. कार्य की स्थिति को NotAssigned सेट करें।
  4. PatternType, Period, WeekStartDay, EndType और OccurenceCount जैसी प्रॉपर्टी सेट करके साप्ताहिक आवर्ती ऑब्जेक्ट बनाएं।
  5. MapiTask.setRecurrence प्रॉपर्टी को इस साप्ताहिक आवर्ती ऑब्जेक्ट पर सेट करें।
  6. इस संदेश को डिस्क पर सहेजें।

निम्नलिखित कोड स्निपेट दर्शाता है कि कैसे EndAfterNOccurrence के रूप में आवर्ती समाप्ति प्रकार के साथ एक कार्य बनाया जाए।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = RunExamples.getDataDir_Outlook();

Date startDate = getDate(2015, 7, 16);
Date dueDate = getDate(2015, 7, 16);
Date endByDate = getDate(2015, 9, 1);

MapiTask task = new MapiTask("This is test task", "Sample Body", startDate, dueDate);
task.setState(MapiTaskState.NotAssigned);

// Set the weekly recurrence
MapiCalendarWeeklyRecurrencePattern rec = new MapiCalendarWeeklyRecurrencePattern();
rec.setEndType(MapiCalendarRecurrenceEndType.EndAfterNOccurrences);
rec.setPatternType(MapiCalendarRecurrencePatternType.Week);
rec.setPeriod(1);
rec.setWeekStartDay(DayOfWeek.Sunday);
rec.setDayOfWeek(MapiCalendarDayOfWeek.Friday);
rec.setOccurrenceCount(getOccurrenceCount(startDate, endByDate, "FREQ=WEEKLY;BYDAY=FR"));

if (rec.getOccurrenceCount() == 0)
{
    rec.setOccurrenceCount(1);
}

task.setRecurrence(rec);
task.save(dataDir + "Weekly_out.msg", TaskSaveFormat.Msg);

निम्नलिखित फ़ंक्शन दो तिथियों के बीच घटनाओं की संख्या गिनने के लिए उपयोग किया जा सकता है:

private static long getOccurrenceCount(Date start, Date endBy, String rrule)
{
    DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
    CalendarRecurrence pattern = new CalendarRecurrence("DTSTART:" + formatter.format(start) + "\r\nRRULE:" + rrule);
    DateCollection dates = pattern.generateOccurrences(start, endBy);
    return dates.size();
}

सप्ताह में कई दिन चुनना

निम्नलिखित कोड स्निपेट दर्शाता है कि कैसे एक सप्ताह में कई दिन चुनें।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Set the weekly recurrence
MapiCalendarWeeklyRecurrencePattern rec = new MapiCalendarWeeklyRecurrencePattern();

rec.setEndType(MapiCalendarRecurrenceEndType.EndAfterNOccurrences);
rec.setPatternType(MapiCalendarRecurrencePatternType.Week);
rec.setPeriod(1);
rec.setWeekStartDay(DayOfWeek.Sunday);
rec.setDayOfWeek(MapiCalendarDayOfWeek.Friday | MapiCalendarDayOfWeek.Monday);
rec.setOccurrenceCount(getOccurrenceCount(startDate, endByDate, "FREQ=WEEKLY;BYDAY=FR,MO"));

सप्ताह में कई दिन चुनना और अंतराल सेट करना

निम्नलिखित कोड स्निपेट दर्शाता है कि कैसे एक सप्ताह में कई दिन चुनें और अंतराल सेट करें।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Set the weekly recurrence
MapiCalendarWeeklyRecurrencePattern rec = new MapiCalendarWeeklyRecurrencePattern();
rec.setEndType(MapiCalendarRecurrenceEndType.EndAfterNOccurrences);
rec.setPatternType(MapiCalendarRecurrencePatternType.Week);
rec.setPeriod(2);
rec.setWeekStartDay(DayOfWeek.Sunday);
rec.setDayOfWeek(MapiCalendarDayOfWeek.Friday | MapiCalendarDayOfWeek.Monday);
rec.setOccurrenceCount(getOccurrenceCount(startDate, endByDate, "FREQ=WEEKLY;BYDAY=FR,MO;INTERVAL=2"));

साप्ताहिक आवर्तक: EndAfterDate प्रकार

"End By" विकल्प Mapi Task में OccurrenceCount प्रॉपर्टी सेट करके प्राप्त किया जाता है जिसे getOccurrenceCount() फ़ंक्शन द्वारा गणना किया जाता है। यह फ़ंक्शन प्रारंभ तिथि, समाप्ति तिथि और RRULE स्ट्रिंग लेता है।

साप्ताहिक आवर्तनों में Every Day मान सेट करना

निम्नलिखित कोड स्निपेट दर्शाता है कि कैसे RRULE स्ट्रिंग में अवधि मान को 1 और INTERVAL मान को 1 सेट किया जाए।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Set the weekly recurrence
MapiCalendarWeeklyRecurrencePattern rec = new MapiCalendarWeeklyRecurrencePattern();
rec.setEndType(MapiCalendarRecurrenceEndType.EndAfterDate);
rec.setPatternType(MapiCalendarRecurrencePatternType.Week);
rec.setPeriod(1);
rec.setWeekStartDay(DayOfWeek.Sunday);
rec.setDayOfWeek(MapiCalendarDayOfWeek.Friday);
rec.setEndDate(endByDate);
rec.setOccurrenceCount(getOccurrenceCount(startDate, endByDate, "FREQ=WEEKLY;BYDAY=FR;INTERVAL=1"));

Every Day मान को किसी भी उपयुक्त मान पर सेट किया जा सकता है और कई दिन नीचे के उदाहरण में दिखाए अनुसार चुने जा सकते हैं:

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
MapiCalendarWeeklyRecurrencePattern record = new MapiCalendarWeeklyRecurrencePattern();
record.setEndType(MapiCalendarRecurrenceEndType.EndAfterDate);
record.setPatternType(MapiCalendarRecurrencePatternType.Week);
record.setPeriod(2);
record.setWeekStartDay(DayOfWeek.Sunday);
record.setEndDate(endByDate);
record.setDayOfWeek(MapiCalendarDayOfWeek.Friday | MapiCalendarDayOfWeek.Monday);
record.setOccurrenceCount(getOccurrenceCount(startDate, endByDate, "FREQ=WEEKLY;BYDAY=FR,MO;INTERVAL=2"));

साप्ताहिक आवर्तक: NeverEnd प्रकार

अंत प्रकार को MapiCalendarRecurrenceEndType.NeverEnd का उपयोग करके सेट किया जा सकता है। अवधि या INTERVAL को आवश्यक मान, जैसे 1, नीचे के उदाहरण में सेट किया जा सकता है।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Set the weekly recurrence
MapiCalendarWeeklyRecurrencePattern recurrence = new MapiCalendarWeeklyRecurrencePattern();
recurrence.setEndType(MapiCalendarRecurrenceEndType.NeverEnd);
recurrence.setPatternType(MapiCalendarRecurrencePatternType.Week);
recurrence.setPeriod(1);
recurrence.setWeekStartDay(DayOfWeek.Sunday);
recurrence.setDayOfWeek(MapiCalendarDayOfWeek.Friday);
recurrence.setOccurrenceCount(getOccurrenceCount(startDate, endByDate, "FREQ=WEEKLY;BYDAY=FR"));

मासिक आवर्तनों के साथ काम करना

Aspose.Email का उपयोग करके मासिक आवर्तनों का निर्माण समर्थन करता है MapiCalendarMonthlyRecurrencePattern. तीन विभिन्न Mapi कैलेंडर आवर्ती समाप्ति प्रकार उपयोग किए जा सकते हैं: EndAfterNOccurrences, EndAfterDate और NeverEnd। यह अनुभाग विभिन्न मासिक आवर्ती पैटर्न बनाने को दर्शाता है।

मासिक आवर्तक: EndAfterNOccurrences प्रकार

इस प्रकार की आवृति में, आवर्तनों की संख्या को अन्य जानकारी के साथ निम्नलिखित रूप में सेट किया जाता है:

  1. प्रारंभ, समाप्ति और नियत तिथि सेट करें।
  2. एक बनाएं MapiTask.
  3. कार्य की स्थिति को NotAssigned सेट करें।
  4. PatternType, Period, WeekStartDay, EndType और OccurenceCount जैसी प्रॉपर्टीज़ सेट करके मासिक आवर्ती ऑब्जेक्ट बनाएं।
  5. MapiTask.setRecurrence प्रॉपर्टी को इस मासिक आवर्ती ऑब्जेक्ट पर सेट करें।
  6. इस संदेश को डिस्क पर सहेजें।

निम्नलिखित कोड स्निपेट दर्शाता है कि कैसे EndAfterNOccurrence के रूप में आवर्ती समाप्ति प्रकार के साथ एक कार्य बनाया जाए।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-.NET
// The path to the File directory.
String dataDir = RunExamples.getDataDir_Outlook();

Date startDate = getDate(2015, 7, 16);
Date DueDate = getDate(2015, 7, 16);
Date endByDate = getDate(2015, 12, 31);

MapiTask task = new MapiTask("This is test task", "Sample Body", startDate, dueDate);
task.setState(MapiTaskState.NotAssigned);

// Set the Monthly recurrence
MapiCalendarMonthlyRecurrencePattern rec = new MapiCalendarMonthlyRecurrencePattern();
rec.setDay(15);
rec.setPeriod(1);
rec.setPatternType(MapiCalendarRecurrencePatternType.Month);
rec.setEndType(MapiCalendarRecurrenceEndType.EndAfterNOccurrences);
rec.setOccurrenceCount(getOccurrenceCount(startDate, endByDate, "FREQ=MONTHLY;BYMONTHDAY=15;INTERVAL=1"));
rec.setWeekStartDay(DayOfWeek.Monday);

if (rec.getOccurrenceCount() == 0)
{
    rec.setOccurrenceCount(1);
}

task.setRecurrence(rec);
task.save(dataDir + "Monthly_out.msg", TaskSaveFormat.Msg);

निम्नलिखित फ़ंक्शन दो तिथियों के बीच घटनाओं की संख्या गिनने के लिए उपयोग किया जा सकता है:

private static long getOccurrenceCount(Date start, Date endBy, String rrule)
{
    DateFormat formatter = new SimpleDateFormat("yyyyMMdd");
    CalendarRecurrence pattern = new CalendarRecurrence("DTSTART:" + formatter.format(start) + "\r\nRRULE:" + rrule);
    DateCollection dates = pattern.generateOccurrences(start, endBy);
    return dates.size();
}

आवर्तनों की निश्चित संख्या सेट करें

निम्नलिखित कोड स्निपेट दर्शाता है कि कैसे एक निश्चित संख्या में आवर्तनों को सेट किया जाए।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Set the Monthly recurrence
MapiCalendarMonthlyRecurrencePattern records = new MapiCalendarMonthlyRecurrencePattern();
records.setDay(15);
records.setPeriod(1);
records.setPatternType(MapiCalendarRecurrencePatternType.Month);
records.setEndType(MapiCalendarRecurrenceEndType.EndAfterNOccurrences);
records.setOccurrenceCount(5);
records.setWeekStartDay(DayOfWeek.Monday);

मासिक आवर्तक: EndAfterDate प्रकार

"End By" विकल्प Mapi Task में OccurrenceCount प्रॉपर्टी सेट करके प्राप्त किया जाता है जिसे getOccurrenceCount() फ़ंक्शन द्वारा गणना किया जाता है। यह फ़ंक्शन प्रारंभ तिथि, समाप्ति तिथि और RRULE स्ट्रिंग लेता है। निम्नलिखित कोड स्निपेट दर्शाता है कि कैसे प्रत्येक महीने की 15 तारीख को आवृति बनाई जाए।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = RunExamples.getDataDir_Outlook();

Date startDate = getDate(2015, 7, 1);
Date dueDate = getDate(2015, 7, 1);
Date endByDate = getDate(2015, 12, 31);

MapiTask task = new MapiTask("This is test task", "Sample Body", startDate, dueDate);
task.setState(MapiTaskState.NotAssigned);

// Set the Monthly recurrence
MapiCalendarMonthlyRecurrencePattern recurrence = new MapiCalendarMonthlyRecurrencePattern();
recurrence.setDay(15);
recurrence.setPeriod(1);
recurrence.setPatternType(MapiCalendarRecurrencePatternType.Month);
recurrence.setEndType(MapiCalendarRecurrenceEndType.EndAfterDate);
recurrence.setOccurrenceCount(getOccurrenceCount(startDate, endByDate, "FREQ=MONTHLY;BYMONTHDAY=15;INTERVAL=1"));
recurrence.setWeekStartDay(DayOfWeek.Monday);
recurrence.setEndDate(endByDate);

task.setRecurrence(recurrence);
task.save(dataDir + "SetMonthlyEndAfterDateRecurrence_out.msg", TaskSaveFormat.Msg);

मासिक आवर्तक: NeverEnd प्रकार

निम्नलिखित कोड स्निपेट दर्शाता है कि कैसे MapiCalendarRecurrenceEndType.NeverEnd का उपयोग कर अंत प्रकार सेट किया जा सकता है।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
MapiCalendarMonthlyRecurrencePattern recurrence = new MapiCalendarMonthlyRecurrencePattern();
recurrence.setDay(15);
recurrence.setPeriod(1);
recurrence.setPatternType(MapiCalendarRecurrencePatternType.Month);
recurrence.setEndType(MapiCalendarRecurrenceEndType.NeverEnd);
recurrence.setWeekStartDay(DayOfWeek.Monday);

वार्षिक आवर्तनों के साथ काम करना

Aspose.Email वार्षिक आवर्तनों का निर्माण समर्थन करता है, उपयोग करके MapiCalendarMonthlyRecurrencePattern. अवधि प्रॉपर्टी को 12 सेट करके, हम वार्षिक आवृति पैटर्न प्राप्त कर सकते हैं। तीन विभिन्न Mapi कैलेंडर आवर्ती समाप्ति प्रकार उपयोग किए जा सकते हैं: EndAfterNOccurrences, EndAfterDate और NeverEnd। यह अनुभाग विभिन्न वार्षिक आवर्ती पैटर्न बनाने को दर्शाता है।

वार्षिक आवर्तक: EndAfterNOccurrences प्रकार

इस प्रकार की आवृति में, आवर्तनों की संख्या को अन्य जानकारी के साथ निम्नलिखित रूप में सेट किया जाता है:

  1. प्रारंभ, समाप्ति और नियत तिथि सेट करें।
  2. एक बनाएं MapiTask.
  3. कार्य की स्थिति को NotAssigned सेट करें।
  4. PatternType, Period, WeekStartDay, EndType और OccurenceCount जैसी प्रॉपर्टीज़ सेट करके मासिक आवर्ती ऑब्जेक्ट बनाएं।
  5. MapiTask.setRecurrence प्रॉपर्टी को इस मासिक आवर्ती ऑब्जेक्ट पर सेट करें ताकि वार्षिक आवृति प्राप्त हो सके।
  6. इस संदेश को डिस्क पर सहेजें।

निम्नलिखित कोड स्निपेट दर्शाता है कि कैसे EndAfterNOccurrence के रूप में आवर्ती समाप्ति प्रकार के साथ एक कार्य बनाया जाए।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
Date startDate = getDate(2015, 7, 1);
Date dueDate = getDate(2015, 7, 1);

MapiTask task = new MapiTask("This is test task", "Sample Body", startDate, dueDate);
task.setState(MapiTaskState.NotAssigned);

// Set the Yearly recurrence
MapiCalendarMonthlyRecurrencePattern recurrence = new MapiCalendarMonthlyRecurrencePattern();
recurrence.setDay(15);
recurrence.setPeriod(12);
recurrence.setPatternType(MapiCalendarRecurrencePatternType.Month);
recurrence.setEndType(MapiCalendarRecurrenceEndType.EndAfterNOccurrences);
recurrence.setOccurrenceCount(3);

task.setRecurrence(recurrence);
task.save("Yearly.msg", TaskSaveFormat.Msg);

वार्षिक आवर्तक: EndAfterDate प्रकार

"End By" विकल्प Mapi Task में OccurrenceCount प्रॉपर्टी सेट करके प्राप्त किया जाता है जिसे getOccurrenceCount() फ़ंक्शन द्वारा गणना किया जाता है। यह फ़ंक्शन प्रारंभ तिथि, समाप्ति तिथि और RRULE स्ट्रिंग लेता है। निम्नलिखित कोड स्निपेट दर्शाता है कि कैसे प्रारंभ और समाप्ति तिथि के बीच प्रत्येक 7वें महीने की 15 तारीख को आवृति बनाई जाए।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Set the Yearly recurrence
MapiCalendarMonthlyRecurrencePattern rec = new MapiCalendarMonthlyRecurrencePattern();
rec.setDay(15);
rec.setPeriod(12);
rec.setPatternType(MapiCalendarRecurrencePatternType.Month);
rec.setEndType(MapiCalendarRecurrenceEndType.EndAfterDate);
rec.setEndDate(endByDate);
rec.setOccurrenceCount(getOccurrenceCount(startDate, endByDate, "FREQ=YEARLY;BYMONTHDAY=15;BYMONTH=7;INTERVAL=1"));

वार्षिक आवर्तक: NeverEnd प्रकार

निम्नलिखित कोड स्निपेट दर्शाता है कि कैसे MapiCalendarRecurrenceEndType.NeverEnd का उपयोग कर अंत प्रकार सेट किया जा सकता है।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// Set the Yearly recurrence
MapiCalendarMonthlyRecurrencePattern recurrence = new MapiCalendarMonthlyRecurrencePattern();
recurrence.setDay(15);
recurrence.setPeriod(12);
recurrence.setPatternType(MapiCalendarRecurrencePatternType.Month);
recurrence.setEndType(MapiCalendarRecurrenceEndType.NeverEnd);

RRULE से आवर्ती पैटर्न बनाएं

Aspose.Email API आवर्ती नियम (RRULE) से आवर्ती पैटर्न बनाने की क्षमता प्रदान करता है। यह RFC 5545 iCal विनिर्देशों के अनुसार RRULE से जानकारी को पार्स करता है और MapiCalendarRecurrencePatternFactory.fromString मेथड का उपयोग करके आवर्ती पैटर्न जनरेट करता है। निम्नलिखित कोड स्निपेट दर्शाता है कि कैसे आवर्ती नियम से आवर्ती पैटर्न जेनरेट करें।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
// The path to the File directory.
String dataDir = RunExamples.getDataDir_Outlook();

Date startDate = getDate(2015, 7, 16);
Date endDate = getDate(2015, 8, 1);
MapiCalendar app1 = new MapiCalendar("test location", "test summary", "test description", startDate, endDate);

app1.setStartDate(startDate);
app1.setEndDate(endDate);

String pattern = "DTSTART;TZID=Europe/London:20150831T080000\r\nDTEND;TZID=Europe/London:20150831T083000\r\nRRULE:FREQ=DAILY;INTERVAL=1;COUNT=7\r\nEXDATE:20150831T070000Z,20150904T070000Z";
app1.getRecurrence().setRecurrencePattern(MapiCalendarRecurrencePatternFactory.fromString(pattern));

आवर्ती कैलेंडर इवेंट्स में अटैचमेंट जोड़ें

Aspose.Email API आवर्ती कैलेंडर इवेंट्स में अटैचमेंट जोड़ने की क्षमता प्रदान करता है।

// For complete examples and data files, please go to https://github.com/aspose-email/Aspose.Email-for-Java
String dataDir = RunExamples.getDataDir_Outlook();

Date startDate = addHours(getDate(2018, 7, 19), 12);
MapiCalendar calendar = new MapiCalendar("location1", "summary1", "description1", startDate, addHours(startDate, 1));

MapiCalendarEventRecurrence recurrence = new MapiCalendarEventRecurrence();
MapiCalendarRecurrencePattern pattern = new MapiCalendarDailyRecurrencePattern();
recurrence.setRecurrencePattern(pattern);
pattern.setPatternType(MapiCalendarRecurrencePatternType.Day);
pattern.setPeriod(1);
pattern.setEndType(MapiCalendarRecurrenceEndType.NeverEnd);

Date exceptionDate = addDays(startDate, 3);
MapiCalendarExceptionInfo exception = new MapiCalendarExceptionInfo();
exception.setLocation("exceptionLoc");
exception.setSubject("exceptionSubj");
exception.setBody("exceptionBody");
exception.setOriginalStartDate(exceptionDate);
exception.setStartDateTime(exceptionDate);
exception.setEndDateTime(addHours(exceptionDate, 5));
exception.setAttachments(new MapiAttachmentCollection(calendar));
exception.getAttachments().add("file.txt", "hello, world!".getBytes());

pattern.getExceptions().addItem(exception);
pattern.getModifiedInstanceDates().addItem(exceptionDate);
pattern.getDeletedInstanceDates().addItem(exceptionDate);
calendar.setRecurrence(recurrence);

try (PersonalStorage newPst = PersonalStorage.create(dataDir + "AddAttachmentToMapiExceptionInfo.pst", FileFormatVersion.Unicode))
{
    FolderInfo newFolder = newPst.createPredefinedFolder("Calendar", StandardIpmFolder.Appointments);
    newFolder.addMapiMessageItem(calendar);
}

कैलेंडर इवेंट टाइम ज़ोन सेट करें

Aspose.Email API कैलेंडर टाइम ज़ोन सेट करने की क्षमता प्रदान करता है:

  • प्रारंभ/समाप्ति तिथि के लिए टाइम ज़ोन जानकारी
  • आवर्ती मीटिंग के लिए टाइम ज़ोन जानकारी
  • टाइम ज़ोन जानकारी जो बताती है कि आवर्ती श्रृंखला की मीटिंग तिथि और समय को UTC से कैसे बदलें और वापस

निम्नलिखित कोड स्निपेट दर्शाता है कि कैसे कैलेंडर टाइम ज़ोन जानकारी सेट करें:

MapiCalendar event = new MapiCalendar("location", "summary", "description", startDate, endDate);
// UTC time zone
MapiCalendarTimeZone utcTimeZone = new MapiCalendarTimeZone("UTC");
event.setStartDateTimeZone(utcTimeZone);
event.setEndDateTimeZone(utcTimeZone);

MapiCalendarDailyRecurrencePattern pattern = new MapiCalendarDailyRecurrencePattern();
pattern.setPeriod(1);
pattern.setStartDate(startDate);
pattern.setEndDate(untilDate);
pattern.setEndType(MapiCalendarRecurrenceEndType.EndAfterDate);
pattern.setPatternType(MapiCalendarRecurrencePatternType.Day);
pattern.setDayOfWeek(DayOfWeek.Monday);

MapiCalendarEventRecurrence r = new MapiCalendarEventRecurrence();
r.setRecurrencePattern(pattern);
r.setClipStart(startDate);
r.setClipEnd(pattern.getEndDate());
//https://docs.microsoft.com/en-us/office/client-developer/outlook/mapi/pidlidappointmenttimezonedefinitionrecur-canonical-property
r.setAppointmentTimeZoneDefinitionRecur(utcTimeZone); // <---
r.setTimeZoneStruct(utcTimeZone); // <---
event.setRecurrence(r);