/// <summary> /// /// </summary> /// <param name="ijob"></param> /// <param name="element"></param> /// <param name="options"></param> public Job(Type ijob, IJobItem element, Dictionary <string, string> options) { _JobType = ijob; this._Enabled = element.Enabled; this._EnableShutDown = element.EnableShutDown; this._Name = element.Name; this.Interval = element.Period; this._ExecuteOnOwnThread = element.ExecuteOnOwnThread; this._FirstRunAtInitialization = element.FirstRunAtInitialization; this._ExecuteDaily = element.ExecuteDaily; this.UsePreciseTimer = element.UsePreciseTimer; this.PreciseTimerCallbackMode = element.PreciseTimerCallbackMode; if (this._ExecuteDaily) { if (TimeZoneUtility.HasTimeZone(element.DailyLocalizedExecutionTimeZoneName)) { this.DailyLocalizedExecutionTimeZoneInfo = TimeZoneUtility.GetTimeZoneInfo(element.DailyLocalizedExecutionTimeZoneName); this.DailyLocalizedExecutionTime = element.DailyLocalizedExecutionTime; this.DailyExecutionDateTimeKind = DateTimeKind.Local; } else { this._DailyUTCExecutionTime = element.DailyUTCExecutionTime; this.DailyExecutionDateTimeKind = DateTimeKind.Utc; } } this._Options = options; }