public void ApplyRetention() { try { using (AcquireSemaphore()) { journalRepository.Load(); var packagesToRemove = retentionAlgorithm.GetPackagesToRemove(journalRepository.GetAllJournalEntries()); foreach (var package in packagesToRemove) { if (string.IsNullOrWhiteSpace(package.Path.Value) || !fileSystem.FileExists(package.Path.Value)) { log.Verbose($"Package at {package.Path} not found."); } else { Log.Verbose($"Removing package file '{package.Path}'"); fileSystem.DeleteFile(package.Path.Value, FailureOptions.IgnoreFailure); } journalRepository.RemovePackageEntry(package); } journalRepository.Commit(); } } catch (Exception ex) { Log.Info(ex.Message); } }
private async Task <IEnumerable <JournalEntry> > GetEntries() { return(await journalRepository.GetAllJournalEntries()); }