Beispiel #1
0
        /// <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;
        }