public static void Run()
        {
            // The path to the File directory.
            string   dataDir   = RunExamples.GetDataDir_Outlook();
            TimeZone localZone = TimeZone.CurrentTimeZone;
            TimeSpan ts        = localZone.GetUtcOffset(DateTime.Now);
            DateTime StartDate = new DateTime(2015, 7, 16);

            StartDate = StartDate.Add(ts);

            DateTime DueDate   = new DateTime(2015, 7, 16);
            DateTime endByDate = new DateTime(2015, 9, 1);

            DueDate   = DueDate.Add(ts);
            endByDate = endByDate.Add(ts);

            MapiTask task = new MapiTask("This is test task", "Sample Body", StartDate, DueDate);

            task.State = MapiTaskState.NotAssigned;

            // ExStart:SetWeeklyEndAfterDateEveryDayRecurrence
            // Set the weekly recurrence
            var rec = new MapiCalendarWeeklyRecurrencePattern
            {
                EndType         = MapiCalendarRecurrenceEndType.EndAfterDate,
                PatternType     = MapiCalendarRecurrencePatternType.Week,
                Period          = 1,
                WeekStartDay    = DayOfWeek.Sunday,
                DayOfWeek       = MapiCalendarDayOfWeek.Friday,
                EndDate         = endByDate,
                OccurrenceCount = GetOccurrenceCount(StartDate, endByDate, "FREQ=WEEKLY;BYDAY=FR;INTERVAL=1"),
            };

            // ExEnd:SetWeeklyEndAfterDateEveryDayRecurrence

            if (rec.OccurrenceCount == 0)
            {
                rec.OccurrenceCount = 1;
            }

            task.Recurrence = rec;
            task.Save(dataDir + "SetWeeklyEndAfterDateEveryDayRecurrence_out.msg", TaskSaveFormat.Msg);

            // ExStart:SetWeeklyEndAfterDateMultipleDaysRecurrence
            var record = new MapiCalendarWeeklyRecurrencePattern
            {
                EndType         = MapiCalendarRecurrenceEndType.EndAfterDate,
                PatternType     = MapiCalendarRecurrencePatternType.Week,
                Period          = 2,
                WeekStartDay    = DayOfWeek.Sunday,
                EndDate         = endByDate,
                DayOfWeek       = MapiCalendarDayOfWeek.Friday | MapiCalendarDayOfWeek.Monday,
                OccurrenceCount = GetOccurrenceCount(StartDate, endByDate, "FREQ=WEEKLY;BYDAY=FR,MO;INTERVAL=2"),
            };

            // ExEnd:SetWeeklyEndAfterDateMultipleDaysRecurrence

            task.Recurrence = record;
            task.Save(dataDir + "SetWeeklyEndAfterDateMultipleDaysRecurrence_out.msg", TaskSaveFormat.Msg);
        }
        public static void Run()
        {
            // The path to the File directory.
            string dataDir = RunExamples.GetDataDir_Outlook();

            DateTime startDate = new DateTime(2015, 04, 30, 10, 00, 00);
            MapiTask task = new MapiTask("abc", "def", startDate, startDate.AddHours(1));
            task.State = MapiTaskState.NotAssigned;

            // Set the weekly recurrence
            var rec = new MapiCalendarDailyRecurrencePattern
            {
                PatternType = MapiCalendarRecurrencePatternType.Day,
                Period = 1,
                WeekStartDay = DayOfWeek.Sunday,
                EndType = MapiCalendarRecurrenceEndType.NeverEnd,
                OccurrenceCount = 0,
            };
            task.Recurrence = rec;
            task.Save(dataDir + "AsposeDaily_out.msg", TaskSaveFormat.Msg);

            // Set the weekly recurrence
            // Set the weekly recurrence
            var rec1 = new MapiCalendarWeeklyRecurrencePattern
            {
                PatternType = MapiCalendarRecurrencePatternType.Week,
                Period = 1,
                DayOfWeek = MapiCalendarDayOfWeek.Wednesday,
                EndType = MapiCalendarRecurrenceEndType.NeverEnd,
                OccurrenceCount = 0,
            };
            task.Recurrence = rec1;
            task.Save(dataDir + "AsposeWeekly_out.msg", TaskSaveFormat.Msg);

            // Set the monthly recurrence
            var recMonthly = new MapiCalendarMonthlyRecurrencePattern
            {
                PatternType = MapiCalendarRecurrencePatternType.Month,
                Period = 1,
                EndType = MapiCalendarRecurrenceEndType.NeverEnd,
                Day = 30,
                OccurrenceCount = 0,
                WeekStartDay = DayOfWeek.Sunday,
            };
            task.Recurrence = recMonthly;
            task.Save(dataDir + "AsposeMonthly_out.msg", TaskSaveFormat.Msg);

            // Set the yearly recurrence
            var recYearly = new MapiCalendarMonthlyRecurrencePattern
            {
                PatternType = MapiCalendarRecurrencePatternType.Month,
                EndType = MapiCalendarRecurrenceEndType.NeverEnd,
                OccurrenceCount = 10,
                Period = 12,
            };
            task.Recurrence = recYearly;
            task.Save(dataDir + "AsposeYearly_out.msg", TaskSaveFormat.Msg);
        }
        public static void Run()
        {
            // ExStart:EndAfterNoccurrenceSelectMultipleDaysInweek
            // The path to the File directory.
            string dataDir = RunExamples.GetDataDir_Outlook();
            TimeZone localZone = TimeZone.CurrentTimeZone;
            TimeSpan ts = localZone.GetUtcOffset(DateTime.Now);
            DateTime StartDate = new DateTime(2015, 7, 16);
            StartDate = StartDate.Add(ts);

            DateTime DueDate = new DateTime(2015, 7, 16);
            DateTime endByDate = new DateTime(2015, 9, 1);
            DueDate = DueDate.Add(ts);
            endByDate = endByDate.Add(ts);

            MapiTask task = new MapiTask("This is test task", "Sample Body", StartDate, DueDate);
            task.State = MapiTaskState.NotAssigned;

            // Set the weekly recurrence
            var rec = new MapiCalendarWeeklyRecurrencePattern
            {
                EndType = MapiCalendarRecurrenceEndType.EndAfterNOccurrences,
                PatternType = MapiCalendarRecurrencePatternType.Week,
                Period = 1,
                WeekStartDay = DayOfWeek.Sunday,
                DayOfWeek = MapiCalendarDayOfWeek.Friday | MapiCalendarDayOfWeek.Monday,
                OccurrenceCount = GetOccurrenceCount(StartDate, endByDate, "FREQ=WEEKLY;BYDAY=FR,MO"),
            };

            if (rec.OccurrenceCount == 0)
            {
                rec.OccurrenceCount = 1;
            }

            task.Recurrence = rec;
            task.Save(dataDir + "Weekly_out.msg", TaskSaveFormat.Msg);
            // ExEnd:EndAfterNoccurrenceSelectMultipleDaysInweek
        }
        public static void Run()
        {
            // The path to the File directory.
            string dataDir = RunExamples.GetDataDir_Outlook();

            // ExStart:AddRecurrenceToMapiTask
            DateTime startDate = new DateTime(2015, 04, 30, 10, 00, 00);
            MapiTask task      = new MapiTask("abc", "def", startDate, startDate.AddHours(1));

            task.State = MapiTaskState.NotAssigned;

            // Set the weekly recurrence
            var rec = new MapiCalendarDailyRecurrencePattern
            {
                PatternType     = MapiCalendarRecurrencePatternType.Day,
                Period          = 1,
                WeekStartDay    = DayOfWeek.Sunday,
                EndType         = MapiCalendarRecurrenceEndType.NeverEnd,
                OccurrenceCount = 0,
            };

            task.Recurrence = rec;
            task.Save(dataDir + "AsposeDaily_out.msg", TaskSaveFormat.Msg);

            // Set the weekly recurrence
            var rec1 = new MapiCalendarWeeklyRecurrencePattern
            {
                PatternType     = MapiCalendarRecurrencePatternType.Week,
                Period          = 1,
                DayOfWeek       = MapiCalendarDayOfWeek.Wednesday,
                EndType         = MapiCalendarRecurrenceEndType.NeverEnd,
                OccurrenceCount = 0,
            };

            task.Recurrence = rec1;
            task.Save(dataDir + "AsposeWeekly_out.msg", TaskSaveFormat.Msg);

            // Set the monthly recurrence
            var recMonthly = new MapiCalendarMonthlyRecurrencePattern
            {
                PatternType     = MapiCalendarRecurrencePatternType.Month,
                Period          = 1,
                EndType         = MapiCalendarRecurrenceEndType.NeverEnd,
                Day             = 30,
                OccurrenceCount = 0,
                WeekStartDay    = DayOfWeek.Sunday,
            };

            task.Recurrence = recMonthly;
            //task.Save(dataDir + "AsposeMonthly_out.msg", TaskSaveFormat.Msg);

            // Set the yearly recurrence
            var recYearly = new MapiCalendarMonthlyRecurrencePattern
            {
                PatternType     = MapiCalendarRecurrencePatternType.Month,
                EndType         = MapiCalendarRecurrenceEndType.NeverEnd,
                OccurrenceCount = 10,
                Period          = 12,
            };

            task.Recurrence = recYearly;
            //task.Save(dataDir + "AsposeYearly_out.msg", TaskSaveFormat.Msg);
            // ExEnd:AddRecurrenceToMapiTask
        }