Пример #1
0
 public TimerListener(object caller, ListenerDaysOfWeek weekDays, params DateTime[] triggerTime) : base(caller)
 {
     InitTimer(1);
     TimesToRun.AddRange(triggerTime);
     WeekDaysToRun = weekDays;
 }
Пример #2
0
        private void SetWeekDays(string weekDays)
        {
            bool enabled = true;

            if (weekDays.StartsWith("NOT ", StringComparison.CurrentCultureIgnoreCase))
            {
                enabled  = false;
                weekDays = weekDays.Remove(0, 4);
            }
            SetWeekDays(!enabled);
            ListenerDaysOfWeek currentDayOfWeek = ListenerDaysOfWeek.Nodays;
            MatchCollection    matches          = Regex.Matches(weekDays, "(?<WeekDay>\\w+)");

            foreach (Match match in matches)
            {
                string weekDay = match.Groups["WeekDay"].Value;
                if (new char[] { 'M', 'W', 'F', 'm', 'w', 'f' }.Contains(weekDay[0]))
                {
                    switch (weekDay[0])
                    {
                    case 'm':
                    case 'M':
                        currentDayOfWeek = ListenerDaysOfWeek.Monday;
                        break;

                    case 'W':
                    case 'w':
                        currentDayOfWeek = ListenerDaysOfWeek.Wednesday;
                        break;

                    case 'F':
                    case 'f':
                        currentDayOfWeek = ListenerDaysOfWeek.Friday;
                        break;
                    }
                }
                if (weekDay.Length > 1)
                {
                    if (new string[] { "TU", "TH", "SU", "SA" }.Contains(weekDay.Substring(0, 2).ToUpper()))
                    {
                        switch (weekDay.Substring(0, 2).ToUpper())
                        {
                        case "TU":
                            currentDayOfWeek = ListenerDaysOfWeek.Tuesday;
                            break;

                        case "TH":
                            currentDayOfWeek = ListenerDaysOfWeek.Thursday;
                            break;

                        case "SU":
                            currentDayOfWeek = ListenerDaysOfWeek.Sunday;
                            break;

                        case "SA":
                            currentDayOfWeek = ListenerDaysOfWeek.Saturday;
                            break;
                        }
                    }
                }
                if (enabled)
                {
                    WeekDaysToRun |= currentDayOfWeek;
                }
                else
                {
                    WeekDaysToRun &= ~currentDayOfWeek;
                }
            }
        }
Пример #3
0
 public TimerListener(object caller, ListenerDaysOfWeek weekDays, int intSeconds, DateTime?startTime = null, DateTime?endTime = null)
     : base(caller)
 {
     InitTimer(intSeconds, startTime, endTime);
     WeekDaysToRun = weekDays;
 }
Пример #4
0
 private void SetWeekDays(bool enabled)
 {
     WeekDaysToRun = enabled ? ListenerDaysOfWeek.Daily : ListenerDaysOfWeek.Nodays;
 }