private static ITrigger GetTrigger(ISchTrigger trigger)
        {
            IMutableTrigger qtrigger;
            var             cronTrigger = trigger as ISchCronTrigger;

            if (cronTrigger != null)
            {
                qtrigger = new CronTriggerImpl(trigger.Code, trigger.TriggerGroup)
                {
                    Description  = trigger.Description,
                    StartTimeUtc = trigger.StartTimeUtc,
                    EndTimeUtc   = trigger.EndTimeUtc,
                    Priority     = trigger.Priority,

                    CronExpressionString = cronTrigger.CronExpression
                };

                if (!ValidateMisfireInstruction(qtrigger, cronTrigger.MisfireInstruction, MisfireInstruction.CronTrigger.DoNothing, trigger.ID))
                {
                    return(null);
                }
                return(qtrigger);
            }

            var simpleTrigger = trigger as ISchSimpleTrigger;

            if (simpleTrigger != null)
            {
                qtrigger = new SimpleTriggerImpl(trigger.Code, trigger.TriggerGroup)
                {
                    Description  = trigger.Description,
                    StartTimeUtc = trigger.StartTimeUtc,
                    EndTimeUtc   = trigger.EndTimeUtc,
                    Priority     = trigger.Priority,

                    RepeatCount    = simpleTrigger.RepeatCount,
                    RepeatInterval = TimeSpan.FromMilliseconds(simpleTrigger.RepeatIntervalInMs)
                };

                if (!ValidateMisfireInstruction(qtrigger, simpleTrigger.MisfireInstruction, 0, trigger.GetKey()))
                {
                    return(null);
                }
                return(qtrigger);
            }

            throw new Exception(string.Format("Unknown trigger type '{0}'.", trigger.TriggerType));
        }
        private static ITrigger GetTrigger(ISchTrigger trigger)
        {
            IMutableTrigger qtrigger;
            var cronTrigger = trigger as ISchCronTrigger;
            if (cronTrigger != null)
            {
                qtrigger = new CronTriggerImpl(trigger.Code, trigger.TriggerGroup)
                {
                    Description = trigger.Description,
                    StartTimeUtc = trigger.StartTimeUtc,
                    EndTimeUtc = trigger.EndTimeUtc,
                    Priority = trigger.Priority,

                    CronExpressionString = cronTrigger.CronExpression
                };

                if (!ValidateMisfireInstruction(qtrigger, cronTrigger.MisfireInstruction, MisfireInstruction.CronTrigger.DoNothing, trigger.ID))
                    return null;
                return qtrigger;
            }

            var simpleTrigger = trigger as ISchSimpleTrigger;
            if (simpleTrigger != null)
            {
                qtrigger = new SimpleTriggerImpl(trigger.Code, trigger.TriggerGroup)
                {
                    Description = trigger.Description,
                    StartTimeUtc = trigger.StartTimeUtc,
                    EndTimeUtc = trigger.EndTimeUtc,
                    Priority = trigger.Priority,

                    RepeatCount = simpleTrigger.RepeatCount,
                    RepeatInterval = TimeSpan.FromMilliseconds(simpleTrigger.RepeatIntervalInMs)
                };

                if (!ValidateMisfireInstruction(qtrigger, simpleTrigger.MisfireInstruction, 0, trigger.GetKey()))
                    return null;
                return qtrigger;
            }

            throw new Exception(string.Format("Unknown trigger type '{0}'.", trigger.TriggerType));
        }