public MonthlySchedule()
 {
     timer = new ScheduleTimer();
     _enabled = true;
     _days = new Dictionary<int, int>();
 }
 internal void OnDeserializedMethod(StreamingContext context)
 {
     timer = new ScheduleTimer();
 }
 public WeeklySchedule()
 {
     timer = new ScheduleTimer();
     _enabled = true;
 }
 public OneTimeSchedule()
 {
     timer = new ScheduleTimer();
     _enabled = true;
 }
        private void StartTimer()
        {
            if(_hasMaximumExecutionTime && _maximumExecutionTime.TotalMilliseconds > 0) {
                if(timer != null) {
                    timer.StopTimer();
                }
                else {
                    timer = new ScheduleTimer();
                }

                timer.OnTimeEllapsed += OnTimeExpired;
                timer.StartTimer(_maximumExecutionTime);
            }
        }