private void RefreshRepository()
        {
            Collection <DateTime> jobRuns = null;
            Job2 job2;

            this.CreateFileSystemWatcher();
            IEnumerable <string> jobDefinitions = ScheduledJobStore.GetJobDefinitions();

            foreach (string str in jobDefinitions)
            {
                jobRuns = ScheduledJobSourceAdapter.GetJobRuns(str);
                if (jobRuns == null)
                {
                    continue;
                }
                ScheduledJobDefinition scheduledJobDefinition = null;
                IEnumerator <DateTime> enumerator             = jobRuns.GetEnumerator();
                using (enumerator)
                {
                    while (enumerator.MoveNext())
                    {
                        DateTime dateTime = enumerator.Current;
                        if (dateTime <= ScheduledJobSourceAdapter.JobRepository.GetLatestJobRun(str))
                        {
                            continue;
                        }
                        try
                        {
                            if (scheduledJobDefinition == null)
                            {
                                scheduledJobDefinition = ScheduledJobDefinition.LoadFromStore(str, null);
                            }
                            job2 = ScheduledJobSourceAdapter.LoadJobFromStore(scheduledJobDefinition.Name, dateTime);
                        }
                        catch (ScheduledJobException scheduledJobException)
                        {
                            continue;
                        }
                        catch (DirectoryNotFoundException directoryNotFoundException)
                        {
                            continue;
                        }
                        catch (FileNotFoundException fileNotFoundException)
                        {
                            continue;
                        }
                        catch (UnauthorizedAccessException unauthorizedAccessException)
                        {
                            continue;
                        }
                        catch (IOException oException)
                        {
                            continue;
                        }
                        ScheduledJobSourceAdapter.JobRepository.AddOrReplace(job2);
                        ScheduledJobSourceAdapter.JobRepository.SetLatestJobRun(str, dateTime);
                    }
                }
            }
        }
Exemple #2
0
        private void RefreshRepository()
        {
            ScheduledJobStore.CreateDirectoryIfNotExists();
            CreateFileSystemWatcher();

            IEnumerable <string> jobDefinitions = ScheduledJobStore.GetJobDefinitions();

            foreach (string definitionName in jobDefinitions)
            {
                // Create Job2 objects for each job run in store.
                Collection <DateTime> jobRuns = GetJobRuns(definitionName);
                if (jobRuns == null)
                {
                    continue;
                }

                ScheduledJobDefinition definition = null;
                foreach (DateTime jobRun in jobRuns)
                {
                    if (jobRun > JobRepository.GetLatestJobRun(definitionName))
                    {
                        Job2 job;
                        try
                        {
                            if (definition == null)
                            {
                                definition = ScheduledJobDefinition.LoadFromStore(definitionName, null);
                            }

                            job = LoadJobFromStore(definition.Name, jobRun);
                        }
                        catch (ScheduledJobException)
                        {
                            continue;
                        }
                        catch (DirectoryNotFoundException)
                        {
                            continue;
                        }
                        catch (FileNotFoundException)
                        {
                            continue;
                        }
                        catch (UnauthorizedAccessException)
                        {
                            continue;
                        }
                        catch (IOException)
                        {
                            continue;
                        }

                        JobRepository.AddOrReplace(job);
                        JobRepository.SetLatestJobRun(definitionName, jobRun);
                    }
                }
            }
        }