private static async Task HandleSettingChangeAsyncIntnl(this IRecurringJobManager recurringJobManager, ISettingsManager settingsManager, ObjectSettingChangedEvent message) { foreach (var changedEntry in message.ChangedEntries.Where(x => x.EntryState == EntryState.Modified || x.EntryState == EntryState.Added)) { if (_observedSettingsDict.TryGetValue(changedEntry.NewEntry.Name, out var settingCronJob)) { await RunOrRemoveJobAsync(recurringJobManager, settingsManager, settingCronJob); } } }
/// <summary> /// /// </summary> /// <param name="recurringJobManager"></param> /// <param name="settingsManager"></param> /// <param name="message"></param> /// <returns></returns> public static Task HandleSettingChangeAsync(this IRecurringJobManager recurringJobManager, ISettingsManager settingsManager, ObjectSettingChangedEvent message) { if (recurringJobManager == null) { throw new ArgumentNullException(nameof(recurringJobManager)); } if (settingsManager == null) { throw new ArgumentNullException(nameof(settingsManager)); } return(HandleSettingChangeAsyncIntnl(recurringJobManager, settingsManager, message)); }