Пример #1
0
        internal void Add(long jobId, ScheduledTriggerModel trigger)
        {
            var triggerEntity = this.mapper.Map <ScheduledTrigger>(trigger);

            this.jobbrRepository.SaveAddTrigger(jobId, triggerEntity);
            trigger.Id    = triggerEntity.Id;
            trigger.JobId = triggerEntity.JobId;

            this.messengerHub.PublishAsync(new TriggerAddedMessage(this, new TriggerKey {
                JobId = triggerEntity.JobId, TriggerId = triggerEntity.Id
            }));
        }
Пример #2
0
        internal void Update(ScheduledTriggerModel trigger)
        {
            var triggerEntity = this.mapper.Map <ScheduledTrigger>(trigger);

            // ReSharper disable once UsePatternMatching
            var fromDb = this.jobbrRepository.GetTriggerById(trigger.JobId, trigger.Id) as ScheduledTrigger;

            if (fromDb == null)
            {
                Logger.Warn($"Unable to update ScheduledTrigger with id '{trigger.Id}' (JobId '{trigger.JobId}'): Trigger not found!");
                return;
            }

            this.jobbrRepository.SaveUpdateTrigger(trigger.JobId, triggerEntity, out var hadChanges);

            if (hadChanges)
            {
                this.messengerHub.PublishAsync(new TriggerUpdatedMessage(this, new TriggerKey {
                    JobId = trigger.JobId, TriggerId = trigger.Id
                }));
            }
        }