@@ -60,13 +60,10 @@ public string ScheduledTime
6060 {
6161 _scheduledTime = TimeSpan . Parse ( value ) ;
6262 OnPropertyChanged ( ) ;
63- if ( _scheduledTime != TimeSpan . Zero )
64- {
65- Interval = TimeSpan . Zero . ToString ( ) ;
66- _nextRun = DateTime . Now . Date + _scheduledTime ;
67- if ( _nextRun < DateTime . Now )
68- _nextRun += TimeSpan . FromDays ( 1 ) ;
69- }
63+ if ( CommandTrigger != Trigger . Scheduled ) return ;
64+ _nextRun = DateTime . Now . Date + _scheduledTime ;
65+ if ( _nextRun < DateTime . Now )
66+ _nextRun += TimeSpan . FromDays ( 1 ) ;
7067 }
7168 }
7269
@@ -78,11 +75,12 @@ public string Interval
7875 {
7976 _interval = TimeSpan . Parse ( value ) ;
8077 OnPropertyChanged ( ) ;
81- if ( _interval != TimeSpan . Zero )
78+ if ( CommandTrigger == Trigger . Timed )
8279 {
83- ScheduledTime = TimeSpan . Zero . ToString ( ) ; //I hate myself for this
80+ // ScheduledTime = TimeSpan.Zero.ToString(); //I hate myself for this **FIXED!!!***
8481 _nextRun = DateTime . Now + _interval ;
8582 }
83+
8684 }
8785 }
8886
@@ -122,13 +120,14 @@ public void Update()
122120 if ( DateTime . Now < _nextRun )
123121 return ;
124122
125- //double cast here as I'm unsure how casting directly between enum types will work
126- if ( DayOfWeek != DayOfWeek . All && DateTime . Now . DayOfWeek != ( System . DayOfWeek ) ( int ) DayOfWeek )
127- {
128- //adding one day because I can't be bothered to calculate exact interval
129- _nextRun += TimeSpan . FromDays ( 1 ) ;
130- return ;
131- }
123+ if ( CommandTrigger == Trigger . Scheduled && Interval == TimeSpan . Zero . ToString ( ) )
124+ if ( DayOfWeek != DayOfWeek . All && DateTime . Now . DayOfWeek != ( System . DayOfWeek ) ( int ) DayOfWeek )
125+ {
126+ //adding one day because I can't be bothered to calculate exact interval
127+ _nextRun += TimeSpan . FromDays ( 1 ) ;
128+ return ;
129+ }
130+
132131
133132 if ( Steps . Count <= 0 )
134133 return ;
@@ -139,14 +138,13 @@ public void Update()
139138 _currentStep ++ ;
140139 _nextRun += step . DelaySpan ;
141140
142- if ( _currentStep >= Steps . Count )
143- {
144- _currentStep = 0 ;
145- if ( _scheduledTime != TimeSpan . Zero )
146- _nextRun = DateTime . Now . Date + _scheduledTime + TimeSpan . FromDays ( 1 ) ;
147- else
148- _nextRun = DateTime . Now + _interval ;
149- }
141+ if ( _currentStep < Steps . Count ) return ;
142+ _currentStep = 0 ;
143+ if ( CommandTrigger == Trigger . Scheduled && Interval == TimeSpan . Zero . ToString ( ) )
144+ _nextRun = DateTime . Now . Date + _scheduledTime + TimeSpan . FromDays ( 1 ) ;
145+ else if ( ( CommandTrigger != Trigger . Disabled || CommandTrigger != Trigger . Vote ) && Interval != TimeSpan . Zero . ToString ( ) )
146+
147+ _nextRun = DateTime . Now + _interval ;
150148 }
151149
152150
0 commit comments