Beispiel #1
0
 public void updateJobs()
 {
     using (var db = new internetEntities())
     {
         //Kannan vertaus tallessa olevaan paskaan.
         foreach (var s in db.timing_table)
         {
             try {
                 //Löytyykö jo listalta?
                 if (trigger_job_list.Where(x => x.rowid == s.rowid).Any())
                 {
                     //Tarkistetaan päivityksen tarve ja jos on tarpeen, päivitetään.
                     TriggerJobViewModel j = trigger_job_list.Where(x => x.rowid == s.rowid).First();
                     if (j.trigger_time != s.trigger_time)
                     {
                         sched.DeleteJob(j.job.Key);
                         trigger_job_list.Remove(j);
                         TriggerJobViewModel m = createJobAndTrigger(s);
                         trigger_job_list.Add(m);
                         sched.ScheduleJob(m.job, m.trigger);
                     }
                 }
                 else
                 {
                     //Lisätään tämä
                     TriggerJobViewModel m = createJobAndTrigger(s);
                     trigger_job_list.Add(m);
                     sched.ScheduleJob(m.job, m.trigger);
                 }
             } catch (Exception e)
             {
                 helperClass.writeLog(e.ToString(), 4);
             }
         }
         //Tallessa olevan paskan vertaus kantaan.
         List <TriggerJobViewModel> tmpList = trigger_job_list.ToList();
         foreach (var s in tmpList)
         {
             try
             {
                 if (!db.timing_table.Where(x => x.rowid == s.rowid).Any())  //Jos ei löydy, niin helvettiin koko paska.
                 {
                     sched.DeleteJob(s.job.Key);
                     trigger_job_list.Remove(s);
                 }
             } catch (Exception e)
             {
                 helperClass.writeLog(e.ToString(), 4);
             }
         }
     }
 }
Beispiel #2
0
 private TriggerJobViewModel createJobAndTrigger(timing_table s)
 {
     try
     {
         IJobDetail          j = createJob(s);
         ITrigger            t = createTrigger(s);
         TriggerJobViewModel m = new TriggerJobViewModel {
             job = j, trigger = t, rowid = s.rowid, trigger_time = s.trigger_time
         };
         return(m);
     }
     catch (Exception e)
     {
         return(null);
     }
 }