Exemplo n.º 1
0
		private DateTime GetNextExecutionDateTime(TimerDefinition timerDefinition)
		{
			switch (timerDefinition.Type)
			{
				case TimerType.Interval:
				{
					int ınt32 = int.Parse(timerDefinition.Value);
					return this._runtime.RuntimeDateTimeNow.AddMilliseconds((double)ınt32);
				}
				case TimerType.Time:
				{
					DateTime runtimeDateTimeNow = this._runtime.RuntimeDateTimeNow;
					DateTime date = DateTime.Parse(timerDefinition.Value, this._runtime.SchemeParsingCulture);
					date = runtimeDateTimeNow.Date + date.TimeOfDay;
					if (date.TimeOfDay < runtimeDateTimeNow.TimeOfDay)
					{
						date = date.AddDays(1);
					}
					return date;
				}
				case TimerType.Date:
				{
					DateTime dateTime = DateTime.Parse(timerDefinition.Value, this._runtime.SchemeParsingCulture);
					return dateTime.Date;
				}
				case TimerType.DateAndTime:
				{
					return DateTime.Parse(timerDefinition.Value, this._runtime.SchemeParsingCulture);
				}
			}
			return this._runtime.RuntimeDateTimeNow;
		}
Exemplo n.º 2
0
		public static TimerDefinition Create(string name, string type, string value, string notOverrideIfExists)
		{
			TimerType timerType;
			Enum.TryParse<TimerType>(type, true, out timerType);
			bool flag = false;
			bool.TryParse(notOverrideIfExists, out flag);
			TimerDefinition timerDefinition = new TimerDefinition()
			{
				Name = name,
				Type = timerType,
				Value = value,
				NotOverrideIfExists = flag
			};
			return timerDefinition;
		}
Exemplo n.º 3
0
 public void UpdateTimer(Guid processId, TimerDefinition timerDefinition)
 {
     if (timerDefinition.Type != TimerType.ByProcessInstance)
         throw new NotSupportedException();
     var intervalSeconds = (int)Math.Floor(timerDefinition.IntervalTimeInMilliseconds/(double)1000);
     var intervalMilliseconds = timerDefinition.IntervalTimeInMilliseconds - intervalSeconds*1000;
     var interval = new TimeSpan(0, 0, 0, intervalSeconds, intervalMilliseconds);
     SetTimer(processId, interval, timerDefinition.Name);
 }
        private DateTime GetNextExecutionDateTime(TimerDefinition timerDefinition)
        {
            switch (timerDefinition.Type)
            {
                case TimerType.Date:
                    var date1 = DateTime.ParseExact(timerDefinition.Value,
                        _runtime.SchemeParsingCulture.DateTimeFormat.ShortDatePattern, CultureInfo.InvariantCulture);
                    return date1.Date;
                case TimerType.DateAndTime:
                    var date2 = DateTime.ParseExact(timerDefinition.Value,
                        (string.Format("{0} {1}", _runtime.SchemeParsingCulture.DateTimeFormat.ShortDatePattern,
                            _runtime.SchemeParsingCulture.DateTimeFormat.LongTimePattern)), CultureInfo.InvariantCulture);
                    return date2;
                case TimerType.Interval:
                    var interval = Int32.Parse(timerDefinition.Value);
                    return _runtime.RuntimeDateTimeNow.AddMilliseconds(interval);
                case TimerType.Time:
                    var now = _runtime.RuntimeDateTimeNow;
                    var date3 = DateTime.ParseExact(timerDefinition.Value, _runtime.SchemeParsingCulture.DateTimeFormat.LongTimePattern, CultureInfo.InvariantCulture);
                    if (date3 < now)
                        date3 = date3.AddDays(1);
                    return date3;
            }

            return _runtime.RuntimeDateTimeNow;
        }