private static ITrigger CreateRecurrentTrigger(JobKey jobKey, RecurrentScheduleSettingsModel settings)
        {
            var trigger = TriggerBuilder.Create()
                          .ForJob(jobKey)
                          .WithIdentity(jobKey.GetTriggerKey())
                          .StartNow()
                          .WithSimpleSchedule(s => s
                                              .WithInterval(settings.RunningInterval)
                                              .RepeatForever()
                                              .WithMisfireHandlingInstructionNextWithRemainingCount())
                          .Build();

            return(trigger);
        }
        private static ITrigger CreateCronTrigger(JobKey jobKey, CronScheduleSettingsModel settings)
        {
            if (string.IsNullOrWhiteSpace(settings.CronExpression))
            {
                throw new ApiValidationException("Invalid cron expression");
            }

            var trigger = TriggerBuilder.Create()
                          .ForJob(jobKey)
                          .WithIdentity(jobKey.GetTriggerKey())
                          .StartNow()
                          .WithCronSchedule(settings.CronExpression, cs => cs
                                            .InTimeZone(TimeZoneInfo.FindSystemTimeZoneById(settings.TimeZoneId))
                                            .WithMisfireHandlingInstructionFireAndProceed())
                          .Build();

            return(trigger);
        }