Esempio n. 1
0
        public async Task <TriggerDetailDto> TriggerDetails(string schedulerName, string triggerGroup, string triggerName)
        {
            IScheduler scheduler = await GetScheduler(schedulerName).ConfigureAwait(false);

            ITrigger trigger = await scheduler.GetTrigger(new TriggerKey(triggerName, triggerGroup)).ConfigureAwait(false);

            ICalendar calendar = trigger.CalendarName != null
                ? await scheduler.GetCalendar(trigger.CalendarName).ConfigureAwait(false)
                : null;

            return(TriggerDetailDto.Create(trigger, calendar));
        }
Esempio n. 2
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="trigger"></param>
        /// <param name="calendar"></param>
        public static TriggerDetailDto ToDto(this ITrigger trigger, ICalendar calendar)
        {
            TriggerDetailDto dto = null;

            if (trigger is ISimpleTrigger simpleTrigger)
            {
                dto = new SimpleTriggerDetailDto(simpleTrigger);
            }
            if (trigger is ICronTrigger cronTrigger)
            {
                dto = new CronTriggerDetailDto(cronTrigger);
            }
            if (trigger is ICalendarIntervalTrigger calendarIntervalTrigger)
            {
                dto = new CalendarIntervalTriggerDetailDto(calendarIntervalTrigger);
            }
            if (trigger is IDailyTimeIntervalTrigger dailyTimeIntervalTrigger)
            {
                dto = new DailyTimeIntervalTriggerDetailDto(dailyTimeIntervalTrigger);
            }
            else
            {
                dto = new TriggerDetailDto();
            }

            dto.Description   = trigger.Description;
            dto.TriggerType   = trigger.GetType().AssemblyQualifiedNameWithoutVersion();
            dto.Name          = trigger.Key.Name;
            dto.Group         = trigger.Key.Group;
            dto.CalendarName  = trigger.CalendarName;
            dto.Priority      = trigger.Priority;
            dto.StartTimeUtc  = trigger.StartTimeUtc;
            dto.EndTimeUtc    = trigger.EndTimeUtc;
            dto.NextFireTimes = TriggerUtils.ComputeFireTimes((IOperableTrigger)trigger, calendar, 10);

            return(dto);
        }