Exemple #1
0
        public SchoolBell(Calendar calendar, SchoolBellDbContext context, IScheduler quartzScheduler)
        {
            _context         = context;
            _calendar        = calendar;
            _quartzScheduler = quartzScheduler;

            InitializeComponent();
        }
Exemple #2
0
        static void Main()
        {
            var      context = new SchoolBellDbContext();
            Calendar calendar;

            ISchedulerFactory schedFact = new StdSchedulerFactory();

            var quartzScheduler = schedFact.GetScheduler();

            quartzScheduler.Start();
            using (context)
            {
                var schedulers = context.Schedulers.Include("Bells").Where(x => x.Date >= DateTime.Today).ToList();

                calendar = new Calendar
                {
                    ID         = 1,
                    Schedulers = schedulers == null ? new List <Scheduler>() : schedulers
                };

                foreach (var scheduler in calendar.Schedulers)
                {
                    if (scheduler.Enabled == true)
                    {
                        foreach (var bell in scheduler.Bells)
                        {
                            if (!quartzScheduler.CheckExists(new JobKey("myJob" + bell.BellTime.ToShortTimeString(), "group" + scheduler.Date.ToShortDateString())))
                            {
                                if (bell.BellTime > DateTime.Now)
                                {
                                    IJobDetail job = JobBuilder.Create <PlaySound>()
                                                     .UsingJobData("path", bell.SoundPath)
                                                     .UsingJobData("sec", bell.NumberOfSeconds)
                                                     .UsingJobData("full", bell.PlayFullSound)
                                                     .WithIdentity("myJob" + bell.BellTime.ToShortTimeString(), "group" + scheduler.Date.ToShortDateString())
                                                     .Build();

                                    ITrigger trigger = TriggerBuilder.Create()
                                                       .WithIdentity("myTrigger" + bell.BellTime.ToShortTimeString(), "group" + scheduler.Date.ToShortDateString())
                                                       .StartAt(bell.BellTime.ToUniversalTime())
                                                       .Build();
                                    quartzScheduler.ScheduleJob(job, trigger);
                                }
                            }
                        }
                    }
                }

                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);
                Application.Run(new SchoolBell(calendar, context, quartzScheduler));
            }
        }
Exemple #3
0
 public EditBellForm(Scheduler scheduler, int index, SchoolBellDbContext context)
 {
     _scheduler = scheduler;
     _bell      = _scheduler.Bells.ElementAt(index);
     InitializeComponent();
     dateTimePicker1.Value        = _bell.BellTime;
     pathTextBox.Text             = _bell.SoundPath;
     fullSoundRadioButton.Checked = _bell.PlayFullSound;
     stopSoundRadioButton.Checked = !_bell.PlayFullSound;
     timerNum.Value = _bell.NumberOfSeconds;
     _context       = context;
 }
Exemple #4
0
        public DayScheduler(Scheduler scheduler, SchoolBellDbContext context)
        {
            _scheduler = scheduler;
            _context   = context;
            InitializeComponent();

            foreach (var item in _scheduler.Bells)
            {
                var v = new ListViewItem(item.BellTime.ToLongTimeString());
                v.SubItems.Add(item.SoundPath);
                bellListView.Items.Add(v);
            }
        }