| | |
| | | { |
| | | TskJobInput tskJobInput = new TskJobInput(); |
| | | var dateTime = DateTime.Now; |
| | | if (Args.Interval > 0) |
| | | |
| | | //按时间类型来运行 |
| | | switch (Args.Type) |
| | | { |
| | | tskJobInput.result = true; |
| | | tskJobInput.input = new() |
| | | { |
| | | startTime = dateTime.AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss"), |
| | | endTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | }; |
| | | } |
| | | else |
| | | { |
| | | //按时间类型来运行 |
| | | switch (Args.Type) |
| | | { |
| | | case TrigArgs.EveryType.Milliseconds: |
| | | dateTime = Trig.LastRunTime ?? DateTime.Now.AddMilliseconds(-Args.ToRunEvery); |
| | | tskJobInput.result = (DateTime.Now - dateTime).TotalMilliseconds > Args.ToRunEvery; |
| | | tskJobInput.input = new() |
| | | { |
| | | startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | endTime = dateTime.AddMilliseconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), |
| | | }; |
| | | break; |
| | | case TrigArgs.EveryType.Seconds: |
| | | dateTime = Trig.LastRunTime ?? DateTime.Now.AddSeconds(-Args.ToRunEvery); |
| | | tskJobInput.result = (DateTime.Now - dateTime).TotalSeconds > Args.ToRunEvery; |
| | | tskJobInput.input = new() |
| | | { |
| | | startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | endTime = dateTime.AddSeconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), |
| | | }; |
| | | break; |
| | | case TrigArgs.EveryType.Minutes: |
| | | dateTime = Trig.LastRunTime ?? DateTime.Now.AddMinutes(-Args.ToRunEvery); |
| | | tskJobInput.result = (DateTime.Now - dateTime).TotalMinutes > Args.ToRunEvery; |
| | | tskJobInput.input = new() |
| | | { |
| | | startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | endTime = dateTime.AddMinutes(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), |
| | | }; |
| | | break; |
| | | case TrigArgs.EveryType.Hours: |
| | | dateTime = Trig.LastRunTime ?? DateTime.Now.AddHours(-Args.ToRunEvery); |
| | | tskJobInput.result = (DateTime.Now - dateTime).TotalHours > Args.ToRunEvery; |
| | | tskJobInput.input = new() |
| | | { |
| | | startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | endTime = dateTime.AddHours(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), |
| | | }; |
| | | break; |
| | | case TrigArgs.EveryType.Days: |
| | | dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-Args.ToRunEvery); |
| | | tskJobInput.result = (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery; |
| | | tskJobInput.input = new() |
| | | { |
| | | startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), |
| | | }; |
| | | break; |
| | | case TrigArgs.EveryType.Weeks: |
| | | dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-7); |
| | | tskJobInput.result = (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery * 7; |
| | | tskJobInput.input = new() |
| | | { |
| | | startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), |
| | | }; |
| | | break; |
| | | case TrigArgs.EveryType.Weekdays: |
| | | dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-Args.ToRunEvery); |
| | | tskJobInput.result = (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery; |
| | | tskJobInput.input = new() |
| | | { |
| | | startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), |
| | | }; |
| | | break; |
| | | case TrigArgs.EveryType.Months: |
| | | dateTime = Trig.LastRunTime ?? DateTime.Now.AddMonths(-Args.ToRunEvery); |
| | | tskJobInput.result = (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery * DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); |
| | | tskJobInput.input = new() |
| | | { |
| | | startTime = dateTime.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | endTime = dateTime.AddMonths(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), |
| | | }; |
| | | break; |
| | | } |
| | | case TrigArgs.EveryType.Milliseconds: |
| | | dateTime = Trig.LastRunTime ?? DateTime.Now.AddMilliseconds(-Args.ToRunEvery); |
| | | tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalMilliseconds > Args.ToRunEvery; |
| | | tskJobInput.input = new() |
| | | { |
| | | startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | endTime = dateTime.AddMilliseconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), |
| | | }; |
| | | break; |
| | | case TrigArgs.EveryType.Seconds: |
| | | dateTime = Trig.LastRunTime ?? DateTime.Now.AddSeconds(-Args.ToRunEvery); |
| | | tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalSeconds > Args.ToRunEvery; |
| | | tskJobInput.input = new() |
| | | { |
| | | startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | endTime = dateTime.AddSeconds(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), |
| | | }; |
| | | break; |
| | | case TrigArgs.EveryType.Minutes: |
| | | dateTime = Trig.LastRunTime ?? DateTime.Now.AddMinutes(-Args.ToRunEvery); |
| | | tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalMinutes > Args.ToRunEvery; |
| | | tskJobInput.input = new() |
| | | { |
| | | startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | endTime = dateTime.AddMinutes(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), |
| | | }; |
| | | break; |
| | | case TrigArgs.EveryType.Hours: |
| | | dateTime = Trig.LastRunTime ?? DateTime.Now.AddHours(-Args.ToRunEvery); |
| | | tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalHours > Args.ToRunEvery; |
| | | tskJobInput.input = new() |
| | | { |
| | | startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | endTime = dateTime.AddHours(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), |
| | | }; |
| | | break; |
| | | case TrigArgs.EveryType.Days: |
| | | dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-Args.ToRunEvery); |
| | | tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery; |
| | | tskJobInput.input = new() |
| | | { |
| | | startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), |
| | | }; |
| | | break; |
| | | case TrigArgs.EveryType.Weeks: |
| | | dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-7); |
| | | tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery * 7; |
| | | tskJobInput.input = new() |
| | | { |
| | | startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), |
| | | }; |
| | | break; |
| | | case TrigArgs.EveryType.Weekdays: |
| | | dateTime = Trig.LastRunTime ?? DateTime.Now.AddDays(-Args.ToRunEvery); |
| | | tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery; |
| | | tskJobInput.input = new() |
| | | { |
| | | startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | endTime = dateTime.AddDays(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), |
| | | }; |
| | | break; |
| | | case TrigArgs.EveryType.Months: |
| | | dateTime = Trig.LastRunTime ?? DateTime.Now.AddMonths(-Args.ToRunEvery); |
| | | tskJobInput.result = Args.Interval > 0 ? true : (DateTime.Now - dateTime).TotalDays > Args.ToRunEvery * DateTime.DaysInMonth(DateTime.Now.Year, DateTime.Now.Month); |
| | | tskJobInput.input = new() |
| | | { |
| | | startTime = Args.Interval > 0 ? ((DateTime)Trig.LastRunTime).AddHours(-Args.Interval).ToString("yyyy-MM-dd HH:mm:ss") : dateTime.ToString("yyyy-MM-dd HH:mm:ss"), |
| | | endTime = dateTime.AddMonths(Args.ToRunEvery).ToString("yyyy-MM-dd HH:mm:ss"), |
| | | }; |
| | | break; |
| | | } |
| | | return tskJobInput; |
| | | } |