/// <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); }