@@ -90,19 +90,61 @@ internal void Update(long jobId, long triggerId, string definition)
9090
9191 recurringTrigger . Definition = definition ;
9292
93- bool hadChanges ;
94- this . jobbrRepository . SaveUpdateTrigger ( jobId , trigger , out hadChanges ) ;
93+ this . jobbrRepository . SaveUpdateTrigger ( jobId , trigger , out var hadChanges ) ;
9594
9695 if ( hadChanges )
9796 {
9897 this . messengerHub . PublishAsync ( new TriggerUpdatedMessage ( this , new TriggerKey { JobId = jobId , TriggerId = triggerId } ) ) ;
9998 }
10099 }
101100
101+ internal void Update ( RecurringTriggerModel trigger )
102+ {
103+ var triggerEntity = this . mapper . Map < RecurringTrigger > ( trigger ) ;
104+
105+ // ReSharper disable once UsePatternMatching
106+ var fromDb = this . jobbrRepository . GetTriggerById ( trigger . JobId , trigger . Id ) as RecurringTrigger ;
107+
108+ if ( fromDb == null )
109+ {
110+ Logger . Warn ( $ "Unable to update RecurringTrigger with id '{ trigger . Id } ' (JobId '{ trigger . JobId } '): Trigger not found!") ;
111+ return ;
112+ }
113+
114+ this . jobbrRepository . SaveUpdateTrigger ( trigger . JobId , triggerEntity , out var hadChanges ) ;
115+
116+ if ( hadChanges )
117+ {
118+ this . messengerHub . PublishAsync ( new TriggerUpdatedMessage ( this , new TriggerKey { JobId = trigger . JobId , TriggerId = trigger . Id } ) ) ;
119+ }
120+ }
121+
122+ internal void Update ( ScheduledTriggerModel trigger )
123+ {
124+ var triggerEntity = this . mapper . Map < ScheduledTrigger > ( trigger ) ;
125+
126+ // ReSharper disable once UsePatternMatching
127+ var fromDb = this . jobbrRepository . GetTriggerById ( trigger . JobId , trigger . Id ) as ScheduledTrigger ;
128+
129+ if ( fromDb == null )
130+ {
131+ Logger . Warn ( $ "Unable to update ScheduledTrigger with id '{ trigger . Id } ' (JobId '{ trigger . JobId } '): Trigger not found!") ;
132+ return ;
133+ }
134+
135+ this . jobbrRepository . SaveUpdateTrigger ( trigger . JobId , triggerEntity , out var hadChanges ) ;
136+
137+ if ( hadChanges )
138+ {
139+ this . messengerHub . PublishAsync ( new TriggerUpdatedMessage ( this , new TriggerKey { JobId = trigger . JobId , TriggerId = trigger . Id } ) ) ;
140+ }
141+ }
142+
102143 internal void Update ( long jobId , long triggerId , DateTime startDateTimeUtc )
103144 {
104145 var trigger = this . jobbrRepository . GetTriggerById ( jobId , triggerId ) ;
105146
147+ // ReSharper disable once UsePatternMatching
106148 var recurringTrigger = trigger as ScheduledTrigger ;
107149
108150 if ( recurringTrigger == null )
@@ -113,8 +155,7 @@ internal void Update(long jobId, long triggerId, DateTime startDateTimeUtc)
113155
114156 recurringTrigger . StartDateTimeUtc = startDateTimeUtc ;
115157
116- bool hadChanges ;
117- this . jobbrRepository . SaveUpdateTrigger ( jobId , trigger , out hadChanges ) ;
158+ this . jobbrRepository . SaveUpdateTrigger ( jobId , trigger , out var hadChanges ) ;
118159
119160 if ( hadChanges )
120161 {
0 commit comments