Esempio n. 1
0
        private Microsoft.Win32.TaskScheduler.Trigger GetTrigger(Schedule schedule)
        {
            switch (schedule.RepeatType.TypeOfRepeat)
            {
            case ScheduleRepeat.ScheduleRepeats.NoRepeat:
                ScheduleRepeatTypes.NoRepeat r1 = schedule.RepeatType as ScheduleRepeatTypes.NoRepeat;
                Microsoft.Win32.TaskScheduler.TimeTrigger trigger1 = new Microsoft.Win32.TaskScheduler.TimeTrigger(Njit.Common.PersianCalendar.ToDateTime(r1.StartDate, r1.StartTime, '/', ':'));
                return(trigger1);

            case ScheduleRepeat.ScheduleRepeats.Daily:
                ScheduleRepeatTypes.Daily r2 = schedule.RepeatType as ScheduleRepeatTypes.Daily;
                Microsoft.Win32.TaskScheduler.DailyTrigger trigger2 = new Microsoft.Win32.TaskScheduler.DailyTrigger();
                trigger2.StartBoundary = Njit.Common.PersianCalendar.ToDateTime(r2.StartDate, r2.ExecuteTime, '/', ':');
                trigger2.EndBoundary   = Njit.Common.PersianCalendar.ToDateTime(r2.EndDate, r2.EndTime, '/', ':');
                return(trigger2);

            case ScheduleRepeat.ScheduleRepeats.Weekly:
                ScheduleRepeatTypes.Weekly r3 = schedule.RepeatType as ScheduleRepeatTypes.Weekly;
                Microsoft.Win32.TaskScheduler.WeeklyTrigger trigger3 = new Microsoft.Win32.TaskScheduler.WeeklyTrigger();
                trigger3.StartBoundary = Njit.Common.PersianCalendar.ToDateTime(r3.StartDate, r3.ExecuteTime, '/', ':');
                trigger3.EndBoundary   = Njit.Common.PersianCalendar.ToDateTime(r3.EndDate, r3.EndTime, '/', ':');
                trigger3.DaysOfWeek    = GetDaysOfWeek(r3.WeekDays);
                return(trigger3);

            case ScheduleRepeat.ScheduleRepeats.Monthly:
                ScheduleRepeatTypes.Monthly r4 = schedule.RepeatType as ScheduleRepeatTypes.Monthly;
                Microsoft.Win32.TaskScheduler.MonthlyTrigger trigger4 = new Microsoft.Win32.TaskScheduler.MonthlyTrigger();
                trigger4.StartBoundary = Njit.Common.PersianCalendar.ToDateTime(r4.StartDate, r4.ExecuteTime, '/', ':');
                trigger4.EndBoundary   = Njit.Common.PersianCalendar.ToDateTime(r4.EndDate, r4.EndTime, '/', ':');
                trigger4.MonthsOfYear  = GetMonthsOfYear(r4.Months);
                trigger4.DaysOfMonth   = new int[] { r4.MonthDay };
                return(trigger4);

            default:
                throw new Exception();
            }
        }
Esempio n. 2
0
        /// <summary>
        /// Retrieves the edited task scheduler trigger
        /// </summary>
        /// <returns></returns>
        public Microsoft.Win32.TaskScheduler.Trigger GetTrigger()
        {
            Microsoft.Win32.TaskScheduler.Trigger Result = null;
            DateTime StartBoundary = this.BeginDateTimePicker.Value;
            // The trigger type depends on the selected tab
            if (this.PeriodTabControl.SelectedTab.Equals(this.TabOnce))
            {
                Result = new Microsoft.Win32.TaskScheduler.TimeTrigger();
                StartBoundary = this.OnceMonthCalendar.SelectionStart.Date + this.BeginDateTimePicker.Value.TimeOfDay;
            }
            else if (this.PeriodTabControl.SelectedTab.Equals(this.TabDaily))
                Result = new Microsoft.Win32.TaskScheduler.DailyTrigger((short)this.DailyNumericUpDown.Value);
            else if (this.PeriodTabControl.SelectedTab.Equals(this.TabWeekly))
                Result = new Microsoft.Win32.TaskScheduler.WeeklyTrigger(GetDayOfWeek(this.WeeklyGroupBox), (short)this.WeeksNumericUpDown.Value);
            else if (this.PeriodTabControl.SelectedTab.Equals(this.TabMonthly) && this.MonthlyOrCheckBox.Checked)
                Result = new Microsoft.Win32.TaskScheduler.MonthlyDOWTrigger(GetDayOfWeek(this.DaysGroupBox1), Microsoft.Win32.TaskScheduler.MonthsOfTheYear.AllMonths, GetWhich());
            else if (this.PeriodTabControl.SelectedTab.Equals(this.TabMonthly))
                Result = new Microsoft.Win32.TaskScheduler.MonthlyTrigger(1, Microsoft.Win32.TaskScheduler.MonthsOfTheYear.AllMonths) { DaysOfMonth = this.MonthlyDaysPicker.DaysPicked1IfEmpty, };
            else
                return null;

            Result.Enabled = this.EnableCheckBox.Checked;
            Result.StartBoundary = StartBoundary;

            return Result;
        }