Esempio n. 1
0
        private DateTime GetNextExecute(TimetableAction aAction, RepeatEnum aRepeat, bool initMode)
        {
            switch (aRepeat)
            {
            case RepeatEnum.manual: return(DateTime.MaxValue);

            case RepeatEnum.min5: return(DateTime.Now + (initMode ? aAction.timestamp.TimeOfDay : new TimeSpan(0, 5, 0)));

            case RepeatEnum.min10: return(DateTime.Now + (initMode ? aAction.timestamp.TimeOfDay : new TimeSpan(0, 10, 0)));

            case RepeatEnum.min15: return(DateTime.Now + (initMode ? aAction.timestamp.TimeOfDay : new TimeSpan(0, 15, 0)));

            case RepeatEnum.min20: return(DateTime.Now + (initMode ? aAction.timestamp.TimeOfDay : new TimeSpan(0, 20, 0)));

            case RepeatEnum.min30: return(DateTime.Now + (initMode ? aAction.timestamp.TimeOfDay : new TimeSpan(0, 30, 0)));

            case RepeatEnum.min45: return(DateTime.Now + (initMode ? aAction.timestamp.TimeOfDay : new TimeSpan(0, 45, 0)));

            case RepeatEnum.hour1: return(DateTime.Now + (initMode ? aAction.timestamp.TimeOfDay : new TimeSpan(1, 0, 0)));

            case RepeatEnum.hour2: return(DateTime.Now + (initMode ? aAction.timestamp.TimeOfDay : new TimeSpan(2, 0, 0)));

            case RepeatEnum.hour3: return(DateTime.Now + (initMode ? aAction.timestamp.TimeOfDay : new TimeSpan(3, 0, 0)));

            case RepeatEnum.hour6: return(DateTime.Now + (initMode ? aAction.timestamp.TimeOfDay : new TimeSpan(6, 0, 0)));

            case RepeatEnum.hour12: return(DateTime.Now + (initMode ? aAction.timestamp.TimeOfDay : new TimeSpan(12, 0, 0)));

            case RepeatEnum.day1: return(DateTime.Now + (initMode ? aAction.timestamp.TimeOfDay : new TimeSpan(24, 0, 0)));

            case RepeatEnum.dailyAt: return(DateTime.Today + new TimeSpan(aAction.timestamp.TimeOfDay > DateTime.Now.TimeOfDay ? 0 : 24, 0, 0) + aAction.timestamp.TimeOfDay);

            case RepeatEnum.mondayAt: return(GetNextWeekday(DateTime.Today, DayOfWeek.Monday) + aAction.timestamp.TimeOfDay);

            case RepeatEnum.tuesdayAt: return(GetNextWeekday(DateTime.Today, DayOfWeek.Tuesday) + aAction.timestamp.TimeOfDay);

            case RepeatEnum.wednesdayAt: return(GetNextWeekday(DateTime.Today, DayOfWeek.Wednesday) + aAction.timestamp.TimeOfDay);

            case RepeatEnum.thursdayAt: return(GetNextWeekday(DateTime.Today, DayOfWeek.Thursday) + aAction.timestamp.TimeOfDay);

            case RepeatEnum.fridayAt: return(GetNextWeekday(DateTime.Today, DayOfWeek.Friday) + aAction.timestamp.TimeOfDay);

            case RepeatEnum.saturdayAt: return(GetNextWeekday(DateTime.Today, DayOfWeek.Saturday) + aAction.timestamp.TimeOfDay);

            case RepeatEnum.sundayAt: return(GetNextWeekday(DateTime.Today, DayOfWeek.Sunday) + aAction.timestamp.TimeOfDay);

            case RepeatEnum.monthly: return(new DateTime(DateTime.Today.Year, (DateTime.Today.Month % 12) + 1, DateTime.Today.Day) + new TimeSpan(24, 0, 0) + aAction.timestamp.TimeOfDay);

            case RepeatEnum.timeAt: return((aAction.timestamp.TimeOfDay > DateTime.Now.TimeOfDay ? DateTime.Today : DateTime.MaxValue.Date) + aAction.timestamp.TimeOfDay);

            default:                      return(DateTime.MaxValue);
            }
        }
Esempio n. 2
0
 private bool IsReverseTime(TimetableAction aAction)
 {
     return(aAction.actionType == ActionType.chatUntil);
 }