Beispiel #1
0
        /// <summary>
        /// Command, that set ALL jobs, when will be sended notificatinos
        /// </summary>
        /// <returns></returns>

        public void InitialalizeJobs()
        {
            var fireTimes = new List <FireTime>();

            foreach (int week in NotificationsConfig.Weeks)
            {
                foreach (var day in NotificationsConfig.Days)
                {
                    foreach (var lessonTime in NotificationsConfig.LessonsTimes)
                    {
                        foreach (var timesBefforeLesson in NotificationsConfig.TimesBeforeLesson)
                        {
                            fireTimes.Add(new FireTime
                            {
                                NumberOfWeek = week,
                                NumberOfDay  = day,
                                LessonTime   = lessonTime,
                                Time         = lessonTime.Add(new TimeSpan(0, -timesBefforeLesson, 0))
                            });
                        }
                    }
                }
            }

            var timeSchedules = fireTimes.Select(f => new JobSchedule
            {
                Cron     = calculateCronExpresion(f),
                FireTime = f
            });

            _jobManager.AddJobs(timeSchedules);
        }