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