/// <summary>
        ///
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="recurringJobManager"></param>
        /// <param name="settingsManager"></param>
        /// <param name="enablerSetting"></param>
        /// <param name="cronSetting"></param>
        /// <param name="methodCall"></param>
        /// <param name="jobId"></param>
        /// <param name="queue"></param>
        public static void WatchJobSetting <T>(this IRecurringJobManager recurringJobManager,
                                               ISettingsManager settingsManager,
                                               SettingDescriptor enablerSetting,
                                               SettingDescriptor cronSetting,
                                               Expression <Func <T, Task> > methodCall,
                                               string jobId,
                                               TimeZoneInfo timeZoneInfo,
                                               string queue)
        {
            if (recurringJobManager == null)
            {
                throw new ArgumentNullException(nameof(recurringJobManager));
            }
            if (settingsManager == null)
            {
                throw new ArgumentNullException(nameof(settingsManager));
            }

            var settingCronJob = new SettingCronJobBuilder(new SettingCronJob())
                                 .SetEnablerSetting(enablerSetting)
                                 .SetCronSetting(cronSetting)
                                 .SetJobId(jobId)
                                 .SetQueueName(queue)
                                 .SetTimeZoneInfo(timeZoneInfo)
                                 .ToJob(methodCall)
                                 .Build();

            WatchJobSettingAsync(recurringJobManager, settingsManager, settingCronJob).GetAwaiter().GetResult();
        }
Beispiel #2
0
        /// <summary>
        /// Initializes a new instance of the <see cref="SettingItemViewModel"/> class.
        /// </summary>
        /// <param name="settingDescriptor">The setting descriptor.</param>
        /// <param name="setting"></param>
        public SettingItemViewModel(SettingDescriptor settingDescriptor, SettingInfo setting)
        {
            _setting = setting;

            this.SettingDescriptor = settingDescriptor;

            // Find out editor
            string editorName = Editor;

            if (string.IsNullOrWhiteSpace(editorName))
            {
                editorName = settingDescriptor.SettingItem.SettingType.FullName;
            }

            this.TypeEditor = TypeEditors.TypeEditorCache.CreateTypeEditor(editorName);
            this.TypeEditor.Initialize(this.EditorParameter);
            try
            {
                this.TypeEditor.Value = settingDescriptor.SettingItem.Value;
            }
            catch (System.Exception)
            {
                Logger.Instance.LogFormat(LogType.Warning, this, Properties.Resources.SettingItemViewModelSetSettingError, settingDescriptor.SettingItem.Name, settingDescriptor.Identifier);
                this.TypeEditor.Value = settingDescriptor.SettingItem.DefaultValue;
            }
        }
Beispiel #3
0
        internal void Add(SettingDescriptor descriptor, SettingInfo setting)
        {
            string categoryText = GetCategoryText(setting.Category);

            CategoryViewModel cvm = CategoryItems.Find(c => c.Category == categoryText);

            if (cvm == null)
            {
                cvm          = new CategoryViewModel();
                cvm.Category = categoryText;
                CategoryItems.Add(cvm);
            }

            cvm.SettingItems.Add(new SettingItemViewModel(descriptor, setting));
        }
 object ConvertValue(string storedValue, SettingDescriptor setting)
 {
     return(ConvertValue(storedValue, setting.UnderlyingType));
 }
 object GetDefaultValue(SettingDescriptor setting)
 {
     return(setting.DefaultValue ?? ConvertValue(null, setting));
 }
        internal static string GetKey <T>(SettingDescriptor setting)
        {
            var settingsType = typeof(T);

            return(string.Format("{0}.{1}", settingsType.FullName, setting.Property.Name));
        }
 public SettingCronJobBuilder SetCronSetting(SettingDescriptor settingDescriptor)
 {
     _settingCronJob.CronSetting = settingDescriptor;
     return(this);
 }
 public SettingCronJobBuilder SetEnablerSetting(SettingDescriptor settingDescriptor)
 {
     _settingCronJob.EnableSetting = settingDescriptor;
     return(this);
 }