using Quartz; using System; namespace SA.Quartz { internal static class QuartzExtensions { /// /// /// /// /// /// /// /// public static T If(this T t, bool condition, Action action) where T : class { if (condition) { action(t); } return t; } /// /// /// /// /// /// /// /// public static T If(this T t, Predicate predicate, Action action) where T : class { if (t == null) { throw new ArgumentNullException(); } if (predicate(t)) { action(t); } return t; } /// /// /// /// /// /// /// /// public static T If(this T t, Predicate predicate, Func func) where T : struct => predicate(t) ? func(t) : t; /// /// add job data /// /// /// /// /// public static void AddJobData(this TriggerBuilder trigger, string key, string value, Type type) { if (type.FullName == null) return; switch (type.FullName.ToLower()) { case "int": trigger.UsingJobData(key, int.Parse(value)); break; case "long": trigger.UsingJobData(key, long.Parse(value)); break; case "float": trigger.UsingJobData(key, float.Parse(value)); break; case "double": trigger.UsingJobData(key, double.Parse(value)); break; case "decimal": trigger.UsingJobData(key, decimal.Parse(value)); break; case "bool": trigger.UsingJobData(key, bool.Parse(value)); break; default: trigger.UsingJobData(key, value); break; } } } }