コード例 #1
0
ファイル: JobManager.cs プロジェクト: nsillvan/SNMPDemo
        public static void TurnOffDevice(string deviceId, DateTimeOffset departureTime)
        {
            SNMPDemoContext db = new SNMPDemoContext();
            //Device dev = db.Devices.Find(Int32.Parse(deviceId));

            string jobIdentity = "PreHeaterOffJob" + deviceId;
            string triggerIdentity = "PreHeaterOffTrigger" + deviceId;

            //DateTimeOffset turnOffTimer = departureTime;
            //turnOffTimer = turnOffTimer.AddMinutes(-5);

            departureTime = departureTime.AddMinutes(-5);

            // Build a job
            IJobDetail job = JobBuilder.Create<SetPreHeaterOffJob>()
                .WithIdentity(jobIdentity, "group1")
                //.UsingJobData("ip", dev.IpAddress)
                //.UsingJobData("communityString", dev.CommunityString)
                .UsingJobData("deviceId", deviceId)
                .Build();

            // Build a trigger
            ISimpleTrigger trigger = (ISimpleTrigger)TriggerBuilder.Create()
                .WithIdentity(triggerIdentity, "group1")
                .StartAt(departureTime)
                .Build();

            // Schedule a job with the trigger
            MvcApplication.Scheduler.ScheduleJob(job, trigger);
        }
コード例 #2
0
ファイル: JobManager.cs プロジェクト: nsillvan/SNMPDemo
        public static void SetTimer(string time, string DeviceId)
        {
            SNMPDemoContext db = new SNMPDemoContext();
            Device dev = db.Devices.Find(Int32.Parse(DeviceId));

            string jobIdentity = "PreHeaterJob" + DeviceId;
            string triggerIdentity = "PreHeaterTrigger" + DeviceId;

            // Parse time
            DateTime dt = DateTime.ParseExact(time, "MM/dd/yyyy h:mm tt", CultureInfo.InvariantCulture);
            DateTimeOffset enddto = new DateTimeOffset(dt);
            DateTimeOffset startdto = enddto;
            startdto = startdto.AddHours(-2);
            startdto = startdto.AddMinutes(-30);

            System.Diagnostics.Debug.WriteLine("Jobmanager");
            //System.Diagnostics.Debug.WriteLine(time);
            //System.Diagnostics.Debug.WriteLine(dt);
            //System.Diagnostics.Debug.WriteLine(enddto);
            //System.Diagnostics.Debug.WriteLine(startdto);

            // Build a job
            IJobDetail job = JobBuilder.Create<SetPreHeaterTimerJob>()
                .WithIdentity(jobIdentity, "group1")
                .UsingJobData("ip", dev.IpAddress)
                .UsingJobData("communityString", dev.CommunityString)
                .UsingJobData("deviceId", DeviceId)
                .UsingJobData("enddto", enddto.ToString())
                .Build();

            // Build a trigger
            ISimpleTrigger trigger = (ISimpleTrigger)TriggerBuilder.Create()
                .WithIdentity(triggerIdentity, "group1")
                .StartAt(startdto)
                .WithSimpleSchedule(x => x
                    .WithIntervalInMinutes(15)
                    .WithRepeatCount(8))
                .Build();

            // Schedule a job with the trigger
            MvcApplication.Scheduler.ScheduleJob(job, trigger);
        }